python下memcache的常用操作

来源:互联网 发布:linux vi命令日志 编辑:程序博客网 时间:2024/05/17 20:27

存储命令: set/add/replace/append/prepend/cas
获取命令: get/gets
其他命令: delete/stats..

add方法
添加一条键值对,如果已经存在的key,重复执行add操作会报异常。
replace方法
replace修改某个key的值,如果key不存在,则异常。
set :设置一个键值对,如果key不存在,则创建,如果key存在,则修改;
set_multi:设置多个键值对,如果key不存在,则创建,如果key存在,则修改。
delete:在Memcached中删除指定的一个键值对;
delete_multi:在Memcached中删除指定的多个键值对。
get和get_multi方法
get : 获取一个键值对;
get_multi:获取多个键值对。
append:修改指定key的值,在该值后面追加内容;
prepend:修改指定key的值,在该值前面插入内容。

incr:自增,将Memcached中的某一个值增加N(N默认为1);
decr:自减,将Memcached中的某一个值减少N(N默认为1)。
set方法和add方法的区别

set = add + replace
1、memcache::add 方法:add方法用于向memcache服务器添加一个要缓存的数据。

注意:如果memcache服务器中已经存在要存储的key,此时add方法调用失败。

2、memcache::set 方法:set方法用于设置一个指定key的缓存内容,set方法是add方法和replace方法的集合体。

注意:

1)、如果要设置的key不存在时,则set方法与add方法的效果一致;

2)、如果要设置的key已经存在时,则set方法与replace方法效果一样。

3、 mmecache::replace方法: replace方法用于替换一个指定key的缓存内容,如果key不存在则返回false

示例:

import memcachemc= memcache.Client(['192.168.31.118:11212'],debug=True)mc.delete("liao")mc.add("niao","chao")print(mc.get("niao"))mc.replace("niao","liao")print(mc.get("niao"))#set =add +replacemc.set("aa","hello")print(mc.get("aa"))#set_multi(dict)#get_multi(list)mc.set_multi({"k100":"v100","k101":"v101","k102":"v102"})print(mc.get_multi(["k100","k101","k102"]))mc.delete("k100")mc.delete_multi(["k100","k101","k102"])print(mc.get_multi(["k100","k101","k102"]))#append和prependmc.set_multi({"test1":"v100","test2":"v101","test3":"v102"})print (mc.get_multi(["test1","test2","test3"]))mc.append("test1","hello")print (mc.get("test1"))mc.prepend("test2","word")print mc.get("test2")#incr默认自增1# decr默认自减1mc.set("shop",100)mc.incr("shop")print (mc.get("shop"))mc.incr("shop",100)print(mc.get("shop"))mc.set("shop",1000)mc.decr("shop")print (mc.get("shop"))mc.decr("shop",100)print(mc.get("shop"))

结果:
liao
liao
hello
{‘k100’: ‘v100’, ‘k101’: ‘v101’, ‘k102’: ‘v102’}

{‘test1’: ‘v100’, ‘test3’: ‘v102’, ‘test2’: ‘v101’}
v100hello
wordv101

101
201
999
899

原创粉丝点击