memcached是一个高性能的分布式内存对象缓存系统。
许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、网站显示延迟等重大影响。
memcached可以用来通过在内存中缓存数据库查询结果来减少读取数据库的次数,减少数据库访问次数,提高性能。
目前很多知名网站都使用了memcached,如LiveJournal,Wikipedia,Flickr,Twitter,Youtube,WordPress,Mixi。
2.Windows上的安装
官网上有Linux的包下载,不支持windows。
一开始我想通过cygwin来安装memcached,折腾了半天,未果。
后来找到一个编译好的 Memcached-for-Windows,可以在windows上直接用。
我下载的是memcached 1.4.5 win32.zip
解压出来,发现exe才300K。
3.启动
memcached -p 11211 -r -c 200 -n 65536 -l localhost -m 128
参数含义
-p <num> 设置端口号(默认不设置为: 11211)
-U <num> UDP监听端口 (默认: 11211, 0 时关闭)
-r maximize core file limit
-c <num> 最大同时连接数(默认: 1024)
-n <bytes> minimum space allocated for key+value+flags (默认: 48)
-l <ip_addr> 绑定地址 (默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问)
-m <num> 允许最大内存用量,单位M (默认: 64 MB)
4.用telnet测试
打开telnet(win7没安装的话到添加删除组件里添加)
open localhost 11211
出现Connecting To localhost...表示连接成功,这时候按回车
然后就可以输入memcached的命令了
set student1 0 60 4 //1.set,key=student1, flag=0, expire=60,长度=4 john STORED set student2 0 60 3 tom STORED get student1 //2.get VALUE student1 0 4 john END get student2 VALUE student2 0 3 tom END delete student1 //3.delete DELETED get student1 //4.delete完了再get可以发现查不到了 END quit
5.参考资料
memcached
memcache及其telnet命令使用详解
memcached 完全剖析
缓存系统MemCached的Java客户端优化历程
AOP的实现方案
存储原理
Distributed Caching with Memcached