python中一些常用的redis操作
键( keys)的操作:
import redis
client = redis.Redis(db=1)
# keys 键的操作
# 打印 id 的类型
print(client.type("id"))
# 设置id的存活时间
client.expire("id", 100)
# 打印剩余存活时间
print(client.ttl("id"))
# 设置为永久存活
client.persist("id")
client.close()
字符串(string)
# string
# 创建字符串的键
client.set("id",101)
# 获取键
print(client.get("id").decode())
# 设置键的值
client.mset({"name": "张三", "age": 23})
# 获取键的多个值
print(client.mget(["name", "age"]))
# 设置存在时间
client.setex("id", 100, "10002")
# 打印剩余时间
a = client.ttl("id")
print(a)
# id 以2为单位递增
client.incr("id", amount=2)
print(client.get("id"))
client.decr("id")
# id 以1为单位递减
print(client.get("id"))
列表(list)
# 放左边
client.lpush("key_list", 1, 2, 3)
# 右边
client.rpush("key_list",0)
# 长度
print(client.llen("key_list"))
# 删除左
client.lpop("key_list")
# 删除右
client.rpop("key_list")
# 返回索引对应的元素
print(client.lindex("key_list",1))
# 返回索引范围内的元素
print(client.lrange("key_list",1,3))
# 切割
print(client.ltrim("key_list",2,3))
哈希(hash)
# 创建hsah表,添加键值对
client.hset("key_hash", "key2", "value2")
# 获取表中键对应的值
print(client.hget("key_hash", "key2"))
# 获取长度
print(client.hlen("key_hash"))
# 删除对应的键值对
client.hdel("key_hash", "key1")
# 获取所有的键
print(client.hkeys("key_hash"))
# 获取所有的值
print(client.hvals("key_hash"))
# 获取所有的键值对
print(client.hgetall("key_hash"))
集合(set)
# 集合set
# 添加
client.sadd("key_set", 1, 2, 3, 4, 5)
client.sadd("key_set2", 1, 3, 5, 7)
# 删除
client.srem("key_set", 1,6)
# 是否是成员
print(client.sismember("key_set","3"))
# 成员个数
print(client.scard("key_set"))
# 所有成员
print(client.smembers("key_set"))
# 交集
print(client.sinter(["key_set", "key_set2"]))
# 并集
print(client.sunion(["key_set", "key_set2"]))
# 差集
print(client.sdiff(["key_set", "key_set2"]))
有序集合(zset)
# 有序集合zset
# 添加值 权重
client.zadd("key_zset", {"q": 5, "y": 2, "c": 6})
# 删除值和权重
client.zrem("key_zset","q")
# 查找范围内的权重
print(client.zrange("key_zset", 1, 10))
# 查找范围内的权重个数
print(client.zcount("key_zset",1,7))
# 根据值查权重
print(client.zscore("key_zset","c"))