python redis的連接及相關操作


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]    #返回有序集中指定區間內的成員,通過索引,分數從高到低

 

 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM