Linux-NoSQL之memcached
1.memcached安装
yum search memcached
yum install -y libevent memcached libmemcached
启动:/etc/init.d/memcached start
查看监听端口:netstat -lnp |grep memcached|netstat -naput
ps -aux |grep memcached
定义启动参数:vim /etc/sysconfig/memcached
-d:启动一个守护进程
-p:监听端口
-c:最大运行的并发连接数
m:分配给memcached使用的内存数量
-l:监听的服务器IP地址
-P:设置保存memcached的pid文件
查看memcached运状态:
memcached-tool 127.0.0.1:11211 stats
or echo stats |nc 127.0.0.1 11211 需要安装nc工具
2.memcached基本操作
连接:telnet 127.0.0.1 11211
一、存储命令的格式:
<command name> <key> <flags> <exptime> <bytes>
<data block>
参数说明如下:
<command name> | set/add/replace |
<key> | 查找关键字 |
<flags> | 客户机使用它存储关于键值对的额外信息 |
<exptime> | 该数据的存活时间,0表示永远 |
<bytes> | 存储字节数 |
<data block> | 存储的数据块(可直接理解为key-value结构中的value) |
这个set的命令在memcached中的使用频率极高。set命令不但可以简单添加,如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。
可以通过“get 键名”的方式查看添加进去的记录
通过delete命令删除掉,然后重新添加
》无论如何都存储的set
》只有数据不存在时进行添加的add
》只有数据存在时进行替换的replace
二、读取命令
1、get
get命令的key可以表示一个或者多个键,键之间以空格隔开
2、gets
gets命令比普通的get命令多返回了一个数字(上图中为13)。这个数字可以检查数据是否发生改变。当key对应的数据改变时,这个多返回的数字也会改变。
3、cas
cas即checked and set的意思,只有当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”。
三、状态命令
1、stats
2、stats items
执行stats items,可以看到STAT items行,如果memcached存储内容很多,那么这里也会列出很多的STAT items行
3、stats cachedump slab_id limit_num
我们执行stats cachedump 1 0 命令效果如下:
这里slab_id为1,是由2中的stats items返回的结果(STAT items后面的数字)决定的;limit_num看起来好像是返回多少条记录,猜的一点不错, 不过0表示显示出所有记录,而n(n>0)就表示显示n条记录,如果n超过该slab下的所有记录,则结果和0返回的结果一致。