Python 的Redis操作

215 阅读1分钟
  1. 首先我们安装redis模块

使用

pip install redis

安装模块

  1. 第一个Redis的程序
import redis

pool = redis.ConnectionPool(host='localhost', port=6379)

r = redis.Redis(connection_pool=pool)

r.set("sayhi", "hello, world1!!")

test = r.get('sayhi')

print(test)
  1. Redis管道

如果想要在Redis里实现事务操作,可以使用Redis的管道:

import redis

pool = redis.ConnectionPool(host='localhost', port=6379)
r = redis.Redis(connection_pool=pool)
pipe = r.pipeline(transaction=True)
r.set('zcx', '5555')
r.set('zcx', '6666')

pipe.execute()
  1. Redis的Publish-Subscribe:

主体类的代码:

import redis


class RedisUtil(object):

    def __init__(self):
        self.__conn = redis.Redis(host='127.0.0.1', port=6379)
        self.channel = 'mybaby' # 定义通道名称

    def publish(self, msg):
        """
        定义发布的方法
        :param msg:
        :return:
        """
        self.__conn.publish(self.channel, msg)
        return True

    def subscribe(self):
        """
        定义订阅的方法
        :return:
        """
        pub = self.__conn.pubsub()
        pub.subscribe(self.channel)
        pub.parse_response()
        return pub

订阅者代码:

from redisutil import RedisUtil

obj = RedisUtil()
redis_sub = obj.subscribe()
while True:
    msg = redis_sub.parse_response()
    print(msg)

发布者:

from redisutil import RedisUtil

obj = RedisUtil()
obj.publish('testwwww')