内容简介:Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。本质上,它是一个简洁的key-value存储系统。启动分前台启动和后台启动
Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。
本质上,它是一个简洁的key-value存储系统。
安装
yum install libevent libevent-deve yum -y install memcached
启动
启动分前台启动和后台启动
1.前台启动
[root@memcached ~]# /usr/bin/memcached -p 11211 -m 64m -vv can't run as root without the -u switch [root@memcached ~]# /usr/bin/memcached -p 11211 -m 64m -vv -u root 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 64M -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 命令的基本语法格式如下:
set key flags exptime bytes [noreply] value
参数说明如下:
- 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 STORED get foo # 获取数据 VALUE foo 0 9 memcached END
其中
key → foo flag → 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 foo VALUE 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 mkey VALUE mkey 0 10 data_value END replace mkey 0 900 16 some_other_value STORED get mkey VALUE 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 runoob VALUE runoob 0 9 memcached END append runoob 0 900 5 redis STORED get runoob VALUE 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 runoob VALUE runoob 0 9 memcached END prepend runoob 0 900 5 redis STORED get runoob VALUE runoob 0 14 redismemcached ENDSTORED
以上所述就是小编给大家介绍的《memcached的使用》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- RecyclerView使用指南(一)—— 基本使用
- 如何使用Meteorjs使用URL参数
- 使用 defer 还是不使用 defer?
- 使用 Typescript 加强 Vuex 使用体验
- [译] 何时使用 Rust?何时使用 Go?
- UDP协议的正确使用场合(谨慎使用)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。