reids目前提供5種資料型別:string型別, list型別, set集合型別, 有序集合型別, hash型別
redis中的string在記憶體中都是按照乙個key對應乙個value來儲存的。如:
r.set(「name」, 「liaochao」)
set的使用方法:
set(name, value, ex=none, px=none, nx=false, xx=false)
ex,過期時間(秒)
px,過期時間(毫秒)
nx,如果設定為true,則只有name不存在時,當前set操作才執行,同setnx(name, value)
xx,如果設定為true,則只有name存在時,當前set操作才執行」』
get(name) 獲取值
print(r.get(「name」))
mset() 批量設定值
r.mset(name1=」shang」, name2=」ling」)
r.mset()
mget(keys, *args) 批量獲取值
print(r.mget(「name1」, 「name2」, 「name3」, 「name4」))
append(name, value)
r.append(「name」,」lisi」)
print(r.get(「name」))
示例:import redis
pool = redis.connectionpool(host="192.168.1.202", port=6379, db=0)
r = redis.redis(connection_pool=pool)
r.set("name","liaochao")
print(r.get("name"))
#批量插入
r.mset(name1="test1",name2="test2")
print (r.mget("name1","name2"))
r.append("name3","test3")
print (r.get("name3"))結果:
liaochao
test3
redis中的list在在記憶體中按照乙個name對應乙個list來儲存
lpush(name,values)
# 在name對應的list中新增元素,每個新的元素都新增到列表的最左邊
r.lpush(「list_name」,2)
r.lpush(「list_name」,3,4,5)#儲存在列表中的順序為5,4,3,2
rpush(name,values)
#同lpush,但每個新的元素都新增到列表的最右邊
lpushx(name,value)
#在name對應的list中新增元素,只有name已經存在時,值新增到列表的最左邊
rpushx(name,value)
#在name對應的list中新增元素,只有name已經存在時,值新增到列表的最右邊
llen(name)
# name對應的list元素的個數
print(r.llen(「list_name」))、
linsert(name,where,refvalue,value):在name對應的列表的某乙個值前後插入乙個新值
#引數:
# name,redis的name
# where,before或after
# refvalue,標桿值,即:在它前後插入資料
# value,要插入的資料
r.lset(name,index,value):對name對應的list中的某乙個索引位置重新賦值。
# 引數:
# name,redis的name
# index,list的索引位置
# value,要設定的值
r.lrem(name,value,num):在name對應的list中刪除指定的值
# 引數:
# name,redis的name
# value,要刪除的值
# num, num=0,刪除列表中所有的指定值;
# num=2,從前到後,刪除2個;
# num=-2,從後向前,刪除2個
示例:import redis
pool = redis.connectionpool(host="192.168.1.202", port=6379, db=0)
r = redis.redis(connection_pool=pool)
# lpush 在list的左邊增加乙個元素 left
# rpush 在list的右邊增加乙個元素 right
r.lpush("list_name",2)
r.lpush("list1", "test1")
r.rpush("list1", "ling")
r.lpush("list1", "test2")
r.lpush("list1", "test3")
r.lpush("list1", "test2")
r.lpush("list1", 2, 3, 4)
r.lpush("list1", "test2")
r.lrem("list1","test2")
print(r.lrange("list1", 0, -1))結果:[『4』, 『3』, 『2』, 『test3』, 『test1』, 『ling』]
set集合就是不重複的列表
sadd(name,values)
#給name對應的集合中新增元素
r.sadd(「set_name」,」aa」)
r.sadd(「set_name」,」aa」,」bb」)
smembers(name)
#獲取name對應的集合的所有成員
scard(name)
#獲取name對應的集合中的元素個數
r.scard(「set_name」)
sinter(keys, *args)
# 獲取多個name對應集合的並集
r.sadd(「set_name」,」aa」,」bb」)
r.sadd(「set_name1」,」bb」,」cc」)
r.sadd(「set_name2」,」bb」,」cc」,」dd」)
print(r.sinter(「set_name」,」set_name1」,」set_name2」))
#輸出:{bb}
sismember(name, value)
#檢查value是否是name對應的集合內的元素
spop(name)
#從集合的右側移除乙個元素,並將其返回
sunion(keys, *args)
#獲取多個name對應的集合的並集
r.sunion(「set_name」,」set_name1」,」set_name2」)
srem(name, value) 刪除集合中的某個元素
r.srem(「set_name」, 「aa」)
示例:import redis
pool = redis.connectionpool(host="192.168.1.202", port=6379, db=0)
r = redis.redis(connection_pool=pool)
r.sadd("set_name","aa")
r.sadd("set_name","aa","bb")
#檢視集合內所有元素
print r.smembers("set_name")
#檢視集合內元素個數
print r.scard("set_name")
r.srem("set_name","aa")
print r.smembers("set_name")
r.sadd("set_name1","aa","bb","cc")
#兩個集合的交集
print (r.sinter("set_name","set_name1"))
#兩個集合的並集
print(r.sunion("set_name","set_name1"))結果
set([『aa』, 『bb』])
2set([『bb』])
set([『bb』])
set([『aa』, 『cc』, 『bb』])
python中的常使用模組
os模組提供了多數作業系統的功能介面函式。當os模組被匯入後,它會自適應於不同的作業系統平台,根據不同的平台進行相應的操作。1.os.name name顧名思義就是 名字 這裡的名字是指作業系統的名字,主要作用是判斷目前正在使用的平台,並給出作業系統的名字,如windows 返回 nt linux ...
Python中functools模組的常用函式解析
1.partial 首先是partial函式,它可以重新繫結函式的可選引數,生成乙個callable的partial物件 int 10 實際上等同於int 10 base 10 和int 10 10 10 int 10 2 實際上是int 10 base 2 的縮寫 2 from functools...
Redis在YiiFramework中的使用
客戶端簡介 predis 純php類,不需要安裝redis for php擴充套件 rediska純php類,目前還是beta版本,具體沒有測試過 本文件主要介紹redis 作為擴充套件在yii中的使用 使用方法很介單,支援分布式儲存 開啟配置檔案 project prodected config ...