【redis】redis使用get及set功能,及发布订阅

发布时间:2023年12月18日


import redis
import time
import threading
import json

发布 JSON 数据

data = {
    'name': 'Alice',
    'age': 25,
    'city': 'New York'
}
json_string = json.dumps(data)  # 将 JSON 对象转换为字符串

连接到 Redis 服务器

r = redis.StrictRedis(host='localhost', port=6379, db=0)

使用 set 和 get 方法

r.set('mykey', 'Hello Redis!')
value = r.get('mykey')
print(value.decode('utf-8'))  # 输出:Hello Redis!

发布者示例

def publisher():
    time.sleep(1)
    r.publish('channel', json_string)

订阅者示例

def subscriber():
    pubsub = r.pubsub()
    pubsub.subscribe('channel')
    for item in pubsub.listen():
        if item['type'] == 'message':
            print(item['data'].decode('utf-8'))  # 输出:Hello, subscribers!
            break

启动发布者和订阅者线程

publisher_thread = threading.Thread(target=publisher)
subscriber_thread = threading.Thread(target=subscriber)

publisher_thread.start()
subscriber_thread.start()

publisher_thread.join()
subscriber_thread.join()
文章来源:https://blog.csdn.net/hh1357102/article/details/134989382
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。