天天看點

Python3中redis子產品學習之釋出訂閱redis_demo.pysubscriber.pypublisher.py

目錄

  • redis_demo.py
  • subscriber.py
  • publisher.py

redis_demo.py

#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""demo

"""

import redis


class RedisHelper(object):

    def __init__(self):
        # 建立連接配接
        self.__conn = redis.Redis(host='192.168.1.104', password='hardy9sap')

        self.chan_sub = 'CCTV-1'

        self.chan_pub = 'CCTV-1'

    def public(self, info):

        self.__conn.publish(channel=self.chan_pub, message=info)

        return True

    def subscribe(self):
        # =======================
        # self.__conn.pubsub_channels(pattern='*')
        # self.__conn.pubsub_numpat()
        # self.__conn.pubsub_numsub(*args)
        # =======================
        pub = self.__conn.pubsub()
        # =====================
        # pub.subscribe(*args, **kwargs)
        # pub.punsubscribe(*args)
        # pub.unsubscribe(*args)
        # pub.punsubscribe(*args)
        # =====================
        pub.subscribe(self.chan_sub)

        return pub

           

subscriber.py

#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""subscriber

"""

from redis_demo import RedisHelper

obj = RedisHelper()

redis_sub = obj.subscribe()

while 1:
    msg = redis_sub.parse_response()
    print(msg)
    print(msg.__class__)
           

publisher.py

#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""釋出者

"""

from redis_demo import RedisHelper

obj = RedisHelper()

while 1:
    info = input('>>> ').strip()

    obj.public(info=info)

           
先運作

subscriber.py

, 再運作

publisher.py

繼續閱讀