从李智慧大大的《大型网站技术架构核心原理与案例分析》这本书的6.3节知道了Memcached分布式缓存之后,在网友文章的帮助下对memcached有了更大的兴趣,想看下这个项目的具体实现。虽然在网上有很多关于Memcached已经被Redis取代的说法,但是抱着学习的态度,自己还是想了解下这个的具体实现。于是就有了今天的第一步:安装、启动以及测试。
对于这些工具的具体实现,自己一直的思路是:先运行起来,测试看看效果再说,至于里面的具体的实现慢慢来了解。
1、Memcached的安装
在Ubuntu下直接使用如下命令进行安装即可:
sudo apt-get install memcached
由于memcached依赖于libevent;因此,还需要安装libevent,命令如下:
sudo apt-get install libevent-dev
注意:网上好多博文中的介绍安装libevent命令是:sudo apt-get install libevent 在实践中会报如下错:unable to locate package libevent
在Memcached的安装说明上有详细介绍,网址如下:https://github.com/memcached/memcached/wiki/Install。
由于使用Linux系统并不多,在安装以上两个库的时候,就遇到了如下几个错误,截图如下:
解决方法:搜索下就OK了。
2、了解Memcached相关参数
了解Memcached的相关参数,使用命令:memcached -help 即可。
结果截图如下:
3、启动Memcached
命令如下:
./memcached -m 512 -p 11211 -vv
该命令后面参数的含义为:分配给memcached的可用内存512M,监听11211端口,显示详细的运行信息。
这里要注意的是:需要切换到memcached的安装目录下运行此命令才有效。自己第一次使用这个命令就是没有切换到安装路径。得到的错误截图如下:
看到这个问题,相信有很多人和我的反应一样:使用”sudo apt-get install memcached”命令安装的目录在哪里呢?
经过查阅资料,方法为:which memcached 即可查找出memcached的安装目录。
例如,在本机上的运行结果如下:
切换到“/usr/bin”下然后执行命令./memcached -m 512 -p 11211 -vv即可启动了。
看到这样的结果,就说明成功启动了Memcached。
4、使用telnet测试Memcached
使用如下的命令连接上面刚启动的Memcached。
telnet localhost 11211
在控制台会看到如下的信息:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
保存数据的命令格式如下
set foo 0 0 3
bar
如果保存成功,控制台会输出:STORED
获取数据的命令格式如下:
get foo
在控制台的输出信息为:
VALUE foo 0 3
bar
END
以上几个操作的截图如下:
至于上面get/set命令来存储和获取数据的格式为什么是这样,目前还不知道,有待于自己继续来了解。
连接到memcached之后,输入stats再按回车,即可获得包括资源利用率在内的各种信息;此外,输入“stats slabs”或“stats items”还可以获得关于缓存记录的信息。结束程序输入“quit”。
输入stats之后的结果部分截图如下:
这些参数的具体含义,见下图:
小结
折腾了下,总算把这个东东给跑起来并测试成功。至于原理,还有待于自己继续摸索。