memcached的使用

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

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

查看所有标签

猜你喜欢:

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

Java并发编程的艺术

Java并发编程的艺术

方腾飞、魏鹏、程晓明 / 机械工业出版社 / 2015-7-1 / 59.00元

并发编程领域的扛鼎之作,作者是阿里和1号店的资深Java技术专家,对并发编程有非常深入的研究,《Java并发编程的艺术》是他们多年一线开发经验的结晶。本书的部分内容在出版早期发表在Java并发编程网和InfoQ等技术社区,得到了非常高的评价。它选取了Java并发编程中最核心的技术进行讲解,从JDK源码、JVM、CPU等多角度全面剖析和讲解了Java并发编程的框架、工具、原理和方法,对Java并发编......一起来看看 《Java并发编程的艺术》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

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

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具