您的位置:首页 > 数据库 > Memcache

1.4-Memcached基本操作

2016-03-22 14:13 405 查看
命令行用法:
telnet 127.0.0.1 11211 #远程连接到memcached
set key2 0 60 3 #插入一条数据,key值为key2 0是flags标记 60秒过期 大小3字节
abc #回车后输入数据,必须等于3字节,否则报错。
STORED #存储成功
get key2 #查看key值
VALUE key2 0 3 #显示key值 标记和大小,没有显示过期时间
abc #显示key值的数据
END #结束
quit #退出

语法规则
<command name> <key> <flags> <exptime> <bytes>\r\n <data block>\r\n
注:\r\n在windows下是Enter键
a) <command name> 可以是”set”, “add”, “replace”。
“set”表示按照相应的<key>存储该数据,没有的时候增加,有的覆盖。
“add”表示按照相应的<key>添加该数据,但是如果该<key>已经存在则会操作失败。
“replace”表示按照相应的<key>替换数据,但是如果该<key>不存在则操作失败。
有时“add”,“replace”也会存储不上。
b) <key> 客户端需要保存数据的key。
c) <flags> 是一个16位的无符号的整数(以十进制的方式表示)。
该标志将和需要存储的数据一起存储,并在客户端get数据时返回。
客户可以将此标志用做特殊用途,此标志对服务器来说是不透明的。
d) <exptime> 过期的时间。
若为0表示存储的数据永远不过时(但可被服务器算法:LRU 等替换)。
如果非0(unix时间或者距离此时的秒数),当过期后,服务器可以保证用户得不到该数据(以服务器时间为标准)。
e) <bytes> 需要存储的字节数,当用户希望存储空数据时<bytes>可以为0
f) <data block>需要存储的内容,输入完成后,最后客户端需要加上”\r\n”(windows直接点击Enter)作为”命令头”的结束标志。

示例:
set key3 1 100 4
abcd
STORED
get key3
VALUE key3 1 4
abcd
END
replace key3 1 200 5
abcdx
STORED
get key3
VALUE key3 1 5
abcdx
END
delete key3
DELETED
get key3
END

补充:如果不知道key值,可以用命令都列出来在查看key数据
telnet 127.0.0.1 11211
首先列出所有keys

stats items

STAT items:7:number 1
STAT items:7:age 188
END
接下来基于列出的items id,本例中为7,第2个参数为列出的长度,0为全部列出
stats cachedump 7 0
ITEM Sess_sidsvpc1473t1np08qnkvhf6j2 [183 b; 1394527347 s]
END
上面的stats cachedump命令列出了我的session key,接下来就用get命令查找对应的session值
如:get Sess_sidsvpc1473t1np08qnkvhf6j2

课后答疑:
问:比如我线上有一个网站,我怎么把memcached用到网站中,直接在/etc/sysconfig/memcached 中的OPTIONS="" 填写对应的ip就行吗?
答:这个要在网站的代码里指定,不是我们的工作,开发人员来搞的。

问:实际情况下,什么时候要用到memcached 这些操作。
答:测试和查看数据时,大多时候都是用php访问和存储的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: