一、什么是Memcached?
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。
二、Memcached服务原理:
Memcache服务器工作机制是在内存中开辟一块空间,然后建立一个基于一个存储键/值对的hashmap。客户端通过对key的哈希算法确定键值对所处的服务器位置,进行查询请求,让它来查询。如果请求的资源是第一次加载被访问,则将在服务器存储(key,value)对和请求的资源并回复,在以后的请求中只需要匹配key即可回复。
三、Memcached服务器的安装和启动
安装:在Linux系统中安装:sudo apt-get install memcached
启动:(1)service memcached start
(2)memcached [options] 方式启动
options:-p TCP监听的端口,默认11211
-U UDP监听的端口,-U 0 禁用UDP服务,默认11211
-l 监听的ip地址, 默认是ADDR_ANY,所有的ip都可以访问
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25-n 最小分配空间,key+value+flags默认是48
-h 显示帮助
注意事项:该漏洞是利用UDP转发数据,当你开启服务时最好用netstat -pantu | grep 11211 查看11211端口上是否有两个进程服务一个UDP另一个TCP的服务。在实验中经常发现用service memcached stop启动时,默认开启两条TCP服务,实验不能成功,建议用memcached -p 11211 -U 11211 开启服务,如果不能重复几次。
四、管理Memcached服务器存储内容
(1)通过登陆服务器的方式。当你启动Memcached服务器后,可以通过客户端链接端口的方式来访问:telnet 127.0.0.1 11211,这里有一些服务器命令可以帮助你操作memcached服务器存储的(key,value)对以及清空服务器中的缓存数据。
get 返回Key对应的Value值
add 添加一个Key值,