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)

 

posted @ 2019-12-04 10:54  $world  阅读(43)  评论(0编辑  收藏  举报