存储命令: 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 memcache
mc= 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 +replace
mc.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和prepend
mc.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默认自减1
mc.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