在python中的redis常用操作教程

2021-12-29 20:04:13 字數 4122 閱讀 2099

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 ...