memcached是由livejournal团队(danga.com)制作的开源缓存软件,是缓存机制的一种实现,用它之所以高效,是因为它是利用了内存,使用好了能够大大加快页面或者是其它程序的执行速度。要注意的是一旦服务器停止,内存中的缓存数据会被清空。
win32下,需要启动memcached服务,首先下载相关的memcached文件(用于启动服务的windows.rar在附件中),解压后可以自己选择,这里我选择的是2.1版本的,将其中的memcached.exe和memcached.ini(里面也就这俩文件)拷贝到某路径下(如:E:\java\memcached2.1),然后通过cmd命令窗口,先转入到该路径,然后按如下步骤输入:
1、memcached.exe -d install
2、memcached.exe -d start
这里第一步是用于安装服务,第二步是用于启动服务,有些默认参数的值是通过memcached.ini里的相关元素的设置值而定的。
如果要停止服务和卸载服务可以用入下命令:
3、memcached.exe -d stop 或 memcached.exe -d shutdown
4、memcached.exe -d uninstall
命令参数解释:
-d 以守护程序(daemon)方式运行 memcached
-m 设置 memcached 可以使用的内存大小,单位为 M
-l 设置监听的 IP 地址,如果是本机的话,通常可以不设置此参数
-p 设置监听的端口,默认为 11211,所以也可以不设置此参数
-u 指定用户,如果当前为 root 的话,需要使用此参数指定用户
-h 帮助
memcached.ini文件指定的各参数及值可以根据需要做更改,默认的如下:
bind_addr=127.0.0.1
listener_port=11212
memory=16
max_conns=1024
evict_to_free = 0
说明:
bind_addr是指绑定的IP
listener_port是指监听的端口
memory内存大小
max_conns最大连接数
evict_to_free
在通过命令 memcached.exe -d start 将服务启动后,可以通过一个demo来做测试,这个demo的下载地址如下:
http://www.whalin.com/memcached/#download
运行类com.danga.MemCached.test.TestMemcached前将服务IP和监听端口改为启动服务时所用的IP和监听端口,
如:String[] servers = { "127.0.0.1:11212"};
或者可以用如下的Test类做测试
java 代码
应用memcached的一个心得:
1、客户端在与 memcached 服务建立连接之后,进行存取对象的操作,每个被存取的对象都有一个唯一的标识符 key,存取操作均通过这个 key 进行,保存到 memcached 中的对象实际上是放置内存中的,并不是保存在 cache 文件中的,这也是为什么 memcached 能够如此高效快速的原因。注意,这些对象并不是持久的,服务停止之后,里边的数据就会丢失。
2、当存入cached的数据超过了cached的容量后会将最长时间没调用的对象挤出,这正好应征了cached的特征。
3、利用memcached常用的做法:在每取得一次cached对象后,重新设置这个对象的cache时间,这样能够使得经常被调用的对象可以长期滞留在缓存中,使得效率增倍。