1、redis連接、及存取值
import redis r = redis.Redis(host='192.168.2.22',port=6379,db=2,password= 'redis') r.set('name','Delia') # 在redis里面放置對應的key,value v = r.get('name') # 獲取key值對應的value值 print(v)
redis-py使用connection pool來管理對一個redis server的所有連接,避免每次建立、釋放連接的開銷,
默認,每個Redis實體都會維護一個自己的連接池,可以直接建立一個連接池,然后作為引數Redis,這樣就可以實作多個Redis實體共享一個連接池,
import redis pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis') r = redis.Redis(connection_pool=pool) r.set('name','Delia') # 在redis里面放置對應的key,value v = r.get('name') # 獲取key值對應的value值 print(v)
輸出結果里面的b代表的是二進制

2、批量存取值
import redis pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis') r = redis.Redis(connection_pool=pool) r.mset({'name':'Delia','age':'18'}) # mset(mapping=''),批量設定值 {k1 = '' ,k2 = ''} v = r.mget({'name','age'}) # 批量獲取值 print(v) 輸出結果: [b'Delia', b'18']
3、存取value的某個范圍
import redis pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis') r = redis.Redis(connection_pool=pool) r.set('name','Delia1234') r.setrange('name',4,'00') #setrange(name,offset,value)修改字串內容,從指定位置開始替換 v = r.getrange('name',4,5) #getrange(key,start,end)獲取子序列 print(v) 輸出結果: b'00'
4、在value中追加內容
import redis pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis') r = redis.Redis(connection_pool=pool) r.set('name','Delia1234') r.append('name','aaa') #append(key,value)在redis name對應的值后面追加內容 v = r.get('name') print(v) 輸出結果: b'Delia1234aaa'
5、獲取key對應的value值
(1)字串, 回傳 key 的值,如果 key 不存在時,回傳 nil, 如果 key 不是字串型別,那么回傳一個錯誤,
GET key #獲取指定 key 的值
(2)哈希(Hash), 回傳給定欄位的值,如果給定的欄位或 key 不存在時,回傳 nil ,
HGET key field #獲取存盤在哈希表中指定欄位的值
(3)串列, 串列的第一個元素, 當串列 key 不存在時,回傳 nil ,
LPOP key #移出并獲取串列的第一個元素
(4)集合,Redis Smembers 命令回傳集合中的所有的成員, 不存在的集合 key 被視為空集合,
SMEMBERS key #回傳集合中的所有成員
(5)有序集合,回傳值: 指定區間內,帶有分數值(可選)的有序集成員的串列,
ZREVRANGE key start stop [WITHSCORES] #回傳有序集中指定區間內的成員,通過索引,分數從高到低
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/35522.html
標籤:NoSQL
上一篇:Python踩坑系列之使用redis報錯:module 'redis' has no attribute 'Redis'問題
下一篇:急急急,Java
