Python中redis 的操作 一

2021-08-11 09:26:21 字數 3304 閱讀 8763

reids目前提供5種資料型別:string型別, list型別, set集合型別, 有序集合型別, hash型別

1.string 型別操作

redis中的string在記憶體中都是按照乙個key對應乙個value來儲存的。

r.set(「feel」, 「hello world」)

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」)) 

print(r.get(「name」))

2.list 操作

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個

lpop(name):在name對應的列表的左側獲取第乙個元素並在列表中移除,返回值刪除那個元素的值

#擴充套件: rpop(name) 表示從右向左操作

lindex(name,index):在name對應的列表中根據索引取列表元素

lrange(name,start,end):在name對應的列表分片獲取資料

例如:

import redis

pool = redis.connectionpool(host="192.168.48.131", port=6379, db=0)

r = redis.redis(connection_pool=pool)

# lpush 在list的左邊增加乙個元素 left

# rpush 在list的右邊增加乙個元素 right

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")

print(r.lrange("list1", 0, -1))

返回結果:

[4, 3, 2, "test3", "test2", "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」)

在python中的redis常用操作教程

reids目前提供5種資料型別 string型別,list型別,set集合型別,有序集合型別,hash型別 redis中的string在記憶體中都是按照乙個key對應乙個value來儲存的。如 r.set name liaochao set的使用方法 set name,value,ex none,p...

python程式設計(redis操作)

1 安裝redis 安裝redis不複雜,乙個apt get命令就可以解決,sudo apt get install redis server 2 驗證redis是否已經安裝 ps aux grep redis 3 安裝python redis sudo apt get install python...

python操作redis資料庫中的set型別資料

1.儲存 sadd key value value 2.刪除 srem srem key value value 刪除所有 del key 3.判斷元素是否存在 sismember sismember key element 4.讀取 smembers smembers key 5.差集運算 sdi...