memcached的使用

栏目: 数据库 · 发布时间: 5年前

内容简介: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的使用》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

产品型社群

产品型社群

李善友 / 机械工业出版社 / 2015-3-1 / CNY 69.00

传统模式企业正在直面一场空前的“降维战争”, 结局惨烈,或生或死。 传统模式很难避免悲惨下场, 诺基亚等昔日庞然大物轰然倒塌, 柯达发明了数码成像技术却依然破产, 新商业的兴起到底遵循的是什么模式? 微信轻而易举干掉了运营商的短信业务, “好未来”为何让传统教育不明觉厉? 花间堂为什么不是酒店,而是入口? 将来不会有互联网企业与传统企业之分, ......一起来看看 《产品型社群》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

随机密码生成器
随机密码生成器

多种字符组合密码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具