一、redis支持事务

具体操作如下:

pipe = r.pipeline(transaction=True)     # 设置管道
r.set('name','alex')
r.set('key','888888')
pipe.execute()                          # 管道提交

二、发布订阅

 redis实现的发布订阅功能不强大,只能对全体订阅对象发布,不能像rabbitmq一样指定具体订阅者,

其具体的实现方式如下:

# redis 发布订阅
class RedisHelper:
    def __init__(self):
        self.__conn = redis.Redis(connection_pool=pool)
        self.chan_sub = 'fm104.5'
        self.chan_pub = 'fm104.5'

    def public(self,msg):
        self.__conn.publish(self.chan_pub,msg)      # 发布
        return True

    def subscribe(self):
        pub = self.__conn.pubsub()                  # 订阅
        pub.subscribe(self.chan_sub)
        pub.parse_response()
        return pub
RedisHelper
# 发布  publish
obj = RedisHelper()
obj.public('hello')
# 订阅 subscribe
obj = RedisHelper()
redis_sub = obj.subscribe()
while True:
    msg = redis_sub.parse_response()
    print(msg)