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)) # 返回元素的下标
参考文献: