python连接使用redis
一、redis的连接
import redis # 1 简单连接 # r=01 redis.Redis() # 2 连接池连接 pool = redis.ConnectionPool(host='10.211.55.4', port=6379) r = redis.Redis(connection_pool=pool) print(r.get("name")) # b'alex' r.set("age",9000)
二、redis的字符串操作
import redis pool = redis.ConnectionPool() r = redis.Redis(connection_pool=pool) # 设置有效时间 # r.set("gender","male",20) # r.set("salary","60000") # 批量操作 # r.mset({'k1': 'v1', 'k2': 'v2'}) # print(r.mget(["k1","k2"])) # [b'v1', b'v2'] # 序列操作 # print(r.getrange("name",0,2)) # 2 # r.setrange("name",1,"666") # a666 # 计算长度 # print(r.strlen("name")) # 4 # 自增 # r.incr("salary",-2000) # 追加 # r.append("name","lex")
二、redis的hash操作
# 设置获取 # r.hset("info","name","alex") # print(r.hget("info","name")) # b'alex' # print(r.hgetall("info")) # {b'name': b'alex'} # 批量操作 # r.hmset("xxx",{'k1':'v1', 'k2': 'v2'}) # print(r.hmget("xxx",["k1","k2"])) # [b'v1', b'v2'] # print(r.hgetall("xxx")) # {b'k1': b'v1', b'k2': b'v2'} # 长度 # print(r.hlen("xxx")) # 判断是否存在某个键 print(r.hexists("xxx","k3")) print(r.exists("xxx1"))
三、redis的链表操作
# 设置获取 # r.hset("info","name","alex") # print(r.hget("info","name")) # b'alex' # print(r.hgetall("info")) # {b'name': b'alex'} # 批量操作 # r.hmset("xxx",{'k1':'v1', 'k2': 'v2'}) # print(r.hmget("xxx",["k1","k2"])) # [b'v1', b'v2'] # print(r.hgetall("xxx")) # {b'k1': b'v1', b'k2': b'v2'} # 长度 # print(r.hlen("xxx")) # 判断是否存在某个键 print(r.hexists("xxx","k3")) print(r.exists("xxx1"))
四、redis的其他操作
print(r.keys()) print(r.keys(pattern="k*"))
五、redis的管道
# pipe = r.pipeline(transaction=False) pipe = r.pipeline(transaction=True) pipe.multi() pipe.set('user', 'egon') pipe.set('role', 'sb') pipe.execute()
发布订阅模式
发布者.py
import redis r=redis.Redis(host='192.168.34.62', port=6379) r.publish("104.5fm","666")
订阅者.py
import redis r=redis.Redis(host='192.168.34.62', port=6379) # 获取订阅对象 pub=r.pubsub() pub.subscribe("104.5fm") while True: msg= pub.parse_response() print(msg)