安裝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)) # 返回元素的下標
參考文獻: