Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。 本质上,它是一个简洁的key-value存储系统。
安装 yum install libevent libevent-deve yum -y install memcached
启动 启动分前台启动和后台启动
1.前台启动
[root@memcached ~ ]can't run as root without the -u switch [root@memcached ~ ]slab class 1: chunk size 96 perslab 10922 slab class 2: chunk size 120 perslab 8738 slab class 3: chunk size 152 perslab 6898 slab class 4: chunk size 192 perslab 5461 slab class 5: chunk size 240 perslab 4369 slab class 6: chunk size 304 perslab 3449 slab class 7: chunk size 384 perslab 2730 …… <30 new auto-negotiating client connection 30: Client using the ascii protocol
2.后台启动
[root@memcached ~] # /usr/bin/memcached -d -m 64 M -u root -l 10.173 .32.83 -p 11211 -c 256 -P /tmp/memcached.pid
启动选项:
-d是启动一个守护进程;
-m是分配给Memcache使用的内存数量,单位是MB;
-u是运行Memcache的用户;
-l是监听的服务器IP地址,可以有多个地址;
-p是设置Memcache监听的端口,,最好是1024以上的端口;
-c是最大运行的并发连接数,默认是1024;
-P是设置保存Memcache的pid文件。
连接 ➜ ~ telnet 10.173 .32.83 11211 Trying 10.173 .32.83 ... Connected to 10.173 .32.83 . Escape character is '^]' .
Memcached 的存储命令 Memcached set 命令 Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中。 如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。 语法: set 命令的基本语法格式如下:
参数说明如下:
key:键值 key-value 结构中的 key,用于查找缓存值。
flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
bytes:在缓存中存储的字节数
noreply(可选): 该参数告知服务器不需要返回数据
value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)
例如
➜ ~ telnet 10.173 .32 .83 11211 Trying 10.173 .32 .83 ... Connected to 10.173 .32 .83 . Escape character is '^]'.set foo 0 900 9 memcached STOREDget foo VALUE foo 0 9 memcached END
其中
key → fooflag → 0 exptime → 900 (以秒为单位)bytes → 9 (数据存储的字节数)value → memcached
输出信息
输出信息说明:
STORED:保存成功后输出。
ERROR:在保持失败后输出。
Memcached add 命令 Memcached add 命令用于将 value(数据值) 存储在指定的 key(键) 中。 如果 add 的 key 已经存在,则不会更新数据(过期的 key 会更新),之前的值将仍然保持相同,并且您将获得响应 NOT_STORED。
语法: add 命令的基本语法格式如下:
add key flags exptime bytes [noreply] value
例如
add foo 0 900 9 memcached STORED get fooVALUE foo 0 9 memcached END add foo 0 900 9 memcached NOT_STORED
Memcached replace 命令 Memcached replace 命令用于替换已存在的 key(键) 的 value(数据值)。 如果 key 不存在,则替换失败,并且您将获得响应 NOT_STORED。 语法: replace 命令的基本语法格式如下:
replace key flags exptime bytes [noreply]value
例如:
add mkey 0 900 10 data_value STORED get mkeyVALUE mkey 0 10 data_value END replace mkey 0 900 16 some_other_value STORED get mkeyVALUE mkey 0 16 some_other_value END
输出信息说明:
STORED:保存成功后输出。
NOT_STORED:执行替换失败后输出。
Memcached append 命令 Memcached append 命令用于向已存在 key(键) 的 value(数据值) 后面追加数据 。 语法: append 命令的基本语法格式如下:
append key flags exptime bytes [noreply] value
例如
set runoob 0 900 9 memcached STORED get runoobVALUE runoob 0 9 memcached END append runoob 0 900 5 redis STORED get runoobVALUE runoob 0 14 memcachedredis END
Memcached prepend 命令 Memcached prepend 命令用于向已存在 key(键) 的 value(数据值) 前面追加数据 。 语法: prepend 命令的基本语法格式如下:
prepend key flags exptime bytes [noreply] value
例如
set runoob 0 900 9 memcached STORED get runoobVALUE runoob 0 9 memcached END prepend runoob 0 900 5 redis STORED get runoobVALUE runoob 0 14 redismemcached ENDSTORED
文章作者: 阿文
版权声明: 本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0 许可协议。转载请注明来自
阿文的博客 !