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

查看所有标签

猜你喜欢:

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

On LISP

On LISP

Paul Graham / Prentice Hall / 09 September, 1993 / $52.00

On Lisp is a comprehensive study of advanced Lisp techniques, with bottom-up programming as the unifying theme. It gives the first complete description of macros and macro applications. The book also ......一起来看看 《On LISP》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具