python常用Resid操作


安裝redis庫

pip intall redis

導入庫

import redis

連接redis,指定ip,端口,庫號

con = redis.StrictRedis(host='ip', port=6379, password=password, db=0)

操作String類型

con.set('name', 'Bob')

 

獲取數據,把byte轉utf-8

name = con.get('name').decode('utf8')

 

操作hash類型

可以一次加一個鍵值對

con.hset('hash1', 'k1', 'v1')

也可以一次加多個鍵值對

con.hmset('hash1', {'k2': 'v2', 'k3': 'v3'}) 

取出所有鍵值對

print(con.hgetall('hash1'))

取出所有的keys

print(con.hkeys('hash1'))

取出所有的value

print(con.hvals('hash1'))

刪除鍵值對

con.hdel('hash1', 'k3')

 

操作list類型

新增list(往list左邊插入元素)

con.lpush('list1', 11, 22, 33) 

往list右邊插入元素

con.rpush('list1', 44, 55, 66) 

指定索引號進行修改

con.lset('list1', 0, 333)  

打印list

print(con.lrange('list1', 0, -1))  

 

操作set類型

往集合添加元素

con.sadd('set1', 33, 44, 55, 66)

打印集合長度

print(con.scard('set1')) 

獲取集合中所有的成員

print(con.smembers('set1'))

判斷元素是否在集合中

print(con.sismember('set1', 33))

 

操作有序set

在redis-py 3.0之前,添加一個有序集合的值,代碼:

con.zadd('zset1', 'm1', 60, 'a2', 70, 'm3', 30)

在redis-py 3.0及以后3.6以前的版本,正確的寫法為:

con.zadd('zset1', {'m1': 60, 'a2': 70, 'm3': 30}) 

在redis-py 3.6及以后的版本,正確的寫法為:

con.zadd('zset1', 10, 'm1', 20, 'a2', m3=30, a4=40)

mapping中m1表示元素,60為score用於排序

打印集合長度

print(con.zcard('zset1')) 

獲取集合中所有的成員

print(con.zrange('zset1', 0, -1))

查看元素的下標,沒有則返回None

print(con.zrank('zset1', 33)) 

 完整腳本

 1 import redis
 2 
 3 con = redis.StrictRedis(host='10.138.60.109', port=6379, db=0)  # 連接redis
 4 '''redis基本命令 String'''
 5 con.set('name', 'Bob')  # 插入String
 6 print(con.get('name').decode('utf8'))  # 取出String並utf-8轉碼
 7 '''redis基本命令 hash'''
 8 con.hset('hash1', 'k1', 'v1')  # 往hash1插入一個鍵值對k1,v1
 9 con.hmset('hash1', {'k2': 'v2', 'k3': 'v3'})  # 往hash1插入多個鍵值對k2,k3
10 print(con.hgetall('hash1'))  # 取出所有的鍵值對
11 print(con.hkeys('hash1'))  # 得到所有的key
12 print(con.hvals('hash1'))  # 得到所有的value
13 con.hdel('hash1', 'k3')  # 刪除鍵值對
14 print(con.hgetall('hash1'))
15 '''redis基本命令 list'''
16 con.lpush('list1', 11, 22, 33)  # 從左邊新增
17 con.rpush('list1', 44, 55, 66)  # 從右邊新增
18 con.lset('list1', 0, 333)  # 指定索引號進行修改
19 print(con.lrange('list1', 0, -1))  # 打印list1[0:-1]
20 '''redis基本命令 set'''
21 con.sadd('set1', 33, 44, 55, 66)  # 往集合添加元素
22 print(con.scard('set1'))  # 打印集合長度
23 print("111111", type(con.smembers('set1')))  # 獲取集合中所有的成員
24 print(con.sismember('set1', 33))  # 判斷元素是否在集合中
25 '''redis基本命令 有序set'''
26 # con.zadd('zset1', 'm1', 60, 'a2', 70, 'm3', 30)  # 3.0以前版本
27 # con.zadd('zset1', {'m1': 60, 'a2': 70, 'm3': 30})  # 3.0以上3.6以下版本
28 con.zadd('zset1', 10, 'm1', 20, 'a2', m3=30, a4=40)  # 往集合添加元素,score用於排序(3.6+版本)
29 print(con.zcard('zset1'))  # 打印集合長度
30 print(con.zrange('zset1', 0, -1))  # 獲取集合中所有的成員
31 print(con.zrank('zset1', 33))  # 返回元素的下標

 

參考文獻:

https://www.jianshu.com/p/2639549bedc8

https://www.cnblogs.com/sanduzxcvbnm/p/10337306.html


免責聲明!

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



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