memcached介绍与基本命令

来源:互联网 发布:js frameelement.api 编辑:程序博客网 时间:2024/05/17 08:23
一、memcached介绍
自由,开放,高性能,分布式内存对象缓存系统
nosql应用
nosql --not only sql不仅仅是关系型数据库
显著特点:key-value键值对存储memcached,redis
或基于文档存储如mongodb

二、安装
请查看http://blog.csdn.net/qq_24493221/article/details/78136192

、memecached -h
重要的选项:
-p <num> 监听的端口默认11211
-u <username>
-m <num> 分配的内存空间,默认64MB
-c <num> 最大连接数默认1024
-f <factor> 增长因子,默认1.25
四、在window下启动
memcached -m 64 -p 11211 -vv

五连接
memcached客户端与服务器的通信比较简单,使用的是基于文本协议,而不是二进制协议(http协议也是这样),因此可以用telnet与之交互

cmd中:
格式:telnet host 端口
telnet localhost 11211

按 CTR+] 打开回显功能
然后按space空格键

六、命令
1.add
Memcached add 命令用于将 value(数据值) 存储在指定的 key(键) 中。
如果 add 的 key 已经存在,则不会更新数据(过期的 key 会更新),之前的值将仍然保持相同,并且您将获得响应 NOT_STORED。

语法:add key flag expire length 回车
key 键名
flag标志,要求为一个正数
expire有效期
length 缓存长度,以字节为单位

falg的意义:
memcached基于文本协议,传输东西,理解成字符串来存储,如果存放一个php对象,数组,怎么办,序列化顾字符串,取出的时候,当然要反序列化,这时候flag的意义就体现出来了,我们可以这时我们可以这样规定1.就是字符串,2数组,3对象 ,然后通过flag标志来处理

expire的意义:
设置缓存的有效期,有3种方式
1.设置秒数,从设定开始,第n秒后失效
2.时间戳,到指定的时间后失效
3.设置为0,不自动失效,不是永久有效,比如服务器down了,老数据被挤出

如:add name 1 0 5
hello

2.get
Memcached get 命令获取存储在 key(键) 中的 value(数据值) ,如果 key 不存在,则返回空。
语法:get key
如:get name

3.replace
Memcached replace 命令用于替换已存在的 key(键) 的 value(数据值)。
如果 key 不存在,则替换失败,并且您将获得响应 NOT_STORED。
语法:replace key flag expire length
如:replace name 1 0 6
hello1

4.delete
Memcached delete 命令用于删除已存在的 key(键)。
语法:delete key[time seconds]
加秒数之后,指被删除的key,指定秒数内不能被使用,目的是让网站上的页面缓存代谢完毕
如delete name

5.set
Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中。
如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。
语法:set key flag expire length

6.incr与decr
Memcached incr 与 decr 命令用于对已存在的 key(键) 的数字值进行自增或自减操作。
incr 与 decr 命令操作的数据必须是十进制的32位无符号整数。
语法:incr key increment_value

7.stats
Memcached stats 命令用于返回统计信息例如 PID(进程号)、版本号、连接数等。
缓存命中率:
(查询到数据次数/查询总数)*100% =

8.flush_all
Memcached flush_all 命令用于用于清理缓存中的所有 key=>value(键=>值) 对。
该命令提供了一个可选参数 time,用于在制定的时间后执行清理缓存操作。