连接方式
连接方式01
import redis
# decode_responses=True 解决的是值类型是 bytes 字节的问题
r = redis.Redis(host="192.168.66.128", port="6379", db=0,
decode_responses=True)
print(r)
运行结果:
Redis<ConnectionPool<Connection<host=192.168.66.128,port=6379,db=0>>>
连接方式02
import redis
pool = redis.ConnectionPool(host="192.168.66.128", port=6379, db=0,
decode_responses=True)
redis = redis.Redis(connection_pool=pool)
print(redis)
运行结果:
Redis<ConnectionPool<Connection<host=192.168.66.128,port=6379,db=0>>>
字符串类型 String
# ex 过期时间 单位为 s
redis.set("name", "Jack", ex=20)
rst = redis.get("name")
print(rst)
列表类型 list
redis.lpush("object", 'one')
redis.lpush("object", 'two')
redis.lpush("object", 'three')
redis.lpush("object", 'four')
redis.lpush("object", 'five')
redis.lpush("object", 'six')
ret = redis.lrange("object", 0, 5)
print(ret)
print(ret[::-1])
print("The length of ret is:", len(ret))
运行结果:
['six', 'five', 'four', 'three', 'two', 'one']
['one', 'two', 'three', 'four', 'five', 'six']
The length of ret is: 6
哈希类型 hash
redis.hset("user:info", "name", "Jack")
redis.hset("user:info", "age", "20")
redis.hset("user:info", "phone", "12345678900")
redis.hset("user:info", "email", "2564493603@qq.com")
rst = redis.hgetall("user:info")
print(rst)
运行结果:
{'name': 'Jack', 'age': '20', 'phone': '12345678900', 'email': '2564493603@qq.com'}
集合类型 set
redis.sadd("set", "one")
redis.sadd("set", "two")
redis.sadd("set", "three")
res = redis.smembers("set")
print(res)
运行结果:
{'one', 'two', 'three'}
有序集合类型 sorted set
redis.zadd("mark", "one", 1)
redis.zadd("mark", "two", 2)
redis.zadd("mark", "three", 3)
redis.zadd("mark", "four", 4)
redis.zadd("mark", "five", 5)
res = redis.zrange("mark", 3, 5)
print(res)
运行结果:
['four', 'five']