日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python---memcache使用操作

發布時間:2025/3/21 python 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python---memcache使用操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import memcachemc = memcache.Client(['127.0.0.1:8081'],debug=True)mc.set("key","val")ret = mc.get("key")print(ret)

set:

mc.set("key","val")

add:

#mc.add("key",'val')已存在則不允許添加 #MemCached: while expecting 'STORED', got unexpected response 'NOT_STORED'

replace:

mc.replace("key","valr") #不存在則不允許修改

上面的add,和replace不常使用,因為set完全可以替換,更加靈活,set()可以創建,可以修改

set_multi使用:

mc.set_multi({'k1':'v1','k2':'v2'})

delete和delete_multi

mc.delete("k1") mc.delete_multi("key1","key")

get和get_multi

ret = mc.get("k1")#返回結果 ret = mc.get_multi(["k1","k2"])#返回結果集

append和prepend,在設置的鍵后面的值上進行修改

mc.set("k1","v1") #k1 == > v1mc.append("k1","after") #k1 == >v1aftermc.prepend("k1","before") #k1 ==>beforev1after

decr和incr:

decr自減一,incr自加一(在未設置步長時),針對所存值都為int類型的數據

mc.set("key","1") mc.set("key",1) #上面兩種都可以 mc.incr("key") ret = mc.get("key") print(ret) #結果為2mc.decr('key') print(ret) #結果為1

mc.incr("key",2)#自增2
mc.decr("key",2)#自減2

gets和cas:防止有臟數據,類似加鎖(實際是在內部維護了一個計數器),使數據保持正確,誰先獲取這個數據,只有當他處理完成后,其他人,才可以再去獲取,不允許同時獲取數據,不然報錯,所以可以通過這個try修改順序

使用:

進程一:

import memcachemc = memcache.Client(['127.0.0.1:8081'],debug=True,cache_cas=True)mc = memcache.Client(['127.0.0.1:8081'],debug=True,cache_cas=True)r = mc.gets('c1') print(r) input(">>>") mc.cas('c1',99) r = mc.get('c1') print(r)

進程二:

import memcachemc = memcache.Client(['127.0.0.1:8081'],debug=True,cache_cas=True)r = mc.gets('c1') print(r) input(">>>") mc.cas('c1',99) r = mc.get('c1') print(r)

當1執行后堵塞,再執行2(本質上每次執行gets時,會從memcache中獲取一個自增的數字),獲取數據輸出后,兩個都堵塞

執行2,(通過cas去修改gets的值時,會攜帶之前獲取的自增值和memcache中的自增值進行比較,如果相等,則可以提交)

再去執行1,cas數據是其自增值和內存不一致(由于2已經修改過),則報錯

MemCached: while expecting 'STORED', got unexpected response 'EXISTS'

memcache和Redis比較:https://www.oschina.net/news/26691/memcached-timeout

轉載于:https://www.cnblogs.com/ssyfj/p/8604996.html

總結

以上是生活随笔為你收集整理的python---memcache使用操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。