返回顶部
首页 > 资讯 > 后端开发 > Python >Python操作redis的订阅发布功能
  • 634
分享到

Python操作redis的订阅发布功能

操作功能Python 2023-01-31 02:01:19 634人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

安装Redis-serveryum -y install GCc gcc-c++    #安装编译工具cd /optwget -c Http://download.redis.io/releases/redis-3.0.5.tar.gz  

安装Redis-server

yum -y install GCc gcc-c++    #安装编译工具

cd /opt

wget -c Http://download.redis.io/releases/redis-3.0.5.tar.gz   #下载包

tar xf redis-3.0.5.tar.gz     #解压

cd redis-3.0.5

make MALLOC=libc  #编译

make PREFIX=/usr/local/redis install  #安装

echo 'PATH=/usr/local/redis/bin:$PATH' >> /etc/profile    #配置环境变量

source /etc/profile #或 . /etc/profile

mkdir /usr/local/redis/conf  #创建目录

cp /opt/redis-3.0.5/redis.conf /usr/local/redis/conf/   #拷贝配置文件

sed -i "46s#/var/run/redis.pid#/usr/local/redis/conf/redis.pid#" /usr/local/redis/conf/redis.conf

sed -i "192s#./#/usr/local/redis/conf/#" /usr/local/redis/conf/redis.conf

sed -i 509s/no/yes/ /usr/local/redis/conf/redis.conf

nohup redis-server /usr/local/redis/conf/redis.conf &> /dev/null &

echo vm.overcommit_memory = 1 >> /etc/sysctl.conf

sysctl -p

lsof -i:6379  #查看端口有没有起来


安装pip命令依赖包

wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz --no-check-certificate

cd setuptools-0.6c11

Python setup.py build

python setup.py install


安装pip命令

wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate

tar xf pip-1.5.4.tar.gz 

cd pip-1.5.4

python setup.py install


安装redis的Python api

pip install redis


测试

[root@test1 opt]# python

Python 2.6.6 (r266:84292, Nov 22 2013, 12:16:22) 

[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2

Type "help", "copyright", "credits" or "license" for more infORMation.

>>> import redis

>>> r = redis.Redis(host='10.211.55.4', port=6379)

>>> r.set('foo', 'Bar')

>>> print r.get('foo')

"Bar"


[root@test1 opt]# redis-cli  

127.0.0.1:6379> get foo

"Bar"



redis订阅和发布功能演示

[root@test1 opt]# cat redishelper.py

#!/usr/bin/env python

#coding:utf-8


import redis


class RedisHelper:


    def __init__(self):

        self.__conn = redis.Redis(host='127.0.0.1')

        self.chan_sub = 'fm87.7'  #订阅频道

        self.chan_pub = 'fm87.7'  #接收频道


    def get(self,key):

        return self.__conn.get(key)


    def set(self,key,value):

        self.__conn.set(key,value)


    def public(self,msg):   #在chan_pub这个频道发布消息

        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  #开始接收


if __name__ == '__main__':

    t = RedisHelper()

    t.public('test') #发布了test这个消息



在一端执行脚本

python redishelper.py


另一端查看

>>> import redishelper

>>> r = redishelper.RedisHelper()

>>> r.subscribe()

<redis.client.PubSub object at 0x7f1789422950>

>>> recv = r.subscribe()

>>> recv.parse_response() 

['message', 'fm87.7', 'test']



订布发阅演示2

#在一个终端打开这个

>>> import redis                     

>>> r = redis.Redis(host='127.0.0.1')

>>> chan = r.pubsub()       #打开频道

>>> chan.subscribe("fm100") #调到该频道

>>> chan.parse_response()   #测试监听频道

['subscribe', 'fm100', 1L]

>>> chan.parse_response()   #再次执行成阻塞状态等待消息的到来


>>> while True:          #写成死循环

...  chan.parse_response() 



在另一个终端打开发布消息

>>> import redis

>>> p = redis.Redis(host='127.0.0.1')

>>> p.publish('fm100','Hellow World!!!')

1L


回到之前那终端发现已经出来消息

>>> while True:          

...  chan.parse_response() 

... 

['message', 'fm100', 'Hellow World!!!']


--结束END--

本文标题: Python操作redis的订阅发布功能

本文链接: https://lsjlt.com/news/186466.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python操作redis的订阅发布功能
    安装redis-serveryum -y install gcc gcc-c++    #安装编译工具cd /optwget -c http://download.redis.io/releases/redis-3.0.5.tar.gz  ...
    99+
    2023-01-31
    操作 功能 Python
  • redis的发布订阅功能是什么
    redis的发布订阅功能是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。        &nb...
    99+
    2024-04-02
  • redis发布订阅功能怎么实现
    redis发布订阅功能怎么实现?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Redis 发布订阅(pub/sub)是一种消息通信模式:发送...
    99+
    2024-04-02
  • redis的发布订阅
    简介 进程间的消息通信模式: 发送者(pub)发送消息,订阅者(sub)接收消息 示例,订阅多个 127.0.0.1:8686[1]> SUBSCRIBE c1 c2 c3 Reading messages... (press C...
    99+
    2020-06-08
    redis的发布订阅
  • 如何利用Redis和C++开发发布-订阅功能
    如何利用Redis和C++开发发布-订阅功能在开发大规模实时系统时,发布-订阅模式被广泛应用于消息传递和事件驱动机制中。Redis是一个高性能的键值存储系统,通过其提供的发布-订阅功能,可以方便地实现实时通信和数据传递。本文将介绍如何利用R...
    99+
    2023-10-22
    C++ redis 发布订阅
  • Redis 发布订阅模型
    RedisServer包含两个重要的结构: 1. channels:实际上就是一个key-value的Map结构,key为订阅地频道,value为Client的List 2. patte...
    99+
    2024-04-02
  • Redis之发布与订阅
    订阅者可以通过subscribe和psubscribe命令向redis server订阅自己感兴趣的消息类型。redis将信息类型称为通道(channel)。当发布者通过publish命令向redis se...
    99+
    2024-04-02
  • 如何利用Redis和C++实现发布-订阅功能
    如何利用Redis和C++实现发布-订阅功能,需要具体代码示例引言:Redis是一种开源的高性能键值存储系统,它支持多种数据结构,并提供了一系列的客户端库,适用于各种编程语言。Redis的发布-订阅功能是其最常用的功能之一,可以实现消息的发...
    99+
    2023-10-22
    C++ redis 发布订阅
  • JAVA 实现 Redis 发布订阅
    Redis 发布订阅 发布订阅:消息发布者发布消息 和 消息订阅者接收消息,两者之间通过某种媒介联系起来 例如订杂志,当自己订阅了爱格杂志,每个月会发刊一本。到发布的时候派送员将杂志送到自己手上就能看到杂志内容。只有我们订阅了该杂志才会...
    99+
    2023-08-18
    redis java 缓存
  • Redis发布/订阅模式是怎么工作的
    Redis发布/订阅模式是一种消息传递模式,其中发布者向频道发布消息,而订阅者则订阅感兴趣的频道以接收消息。以下是Redis发布/订...
    99+
    2024-05-07
    Redis
  • Springboot整合redis实现发布订阅功能介绍步骤
    目录一、redis发布订阅简介二、几个核心概念解释三、适用场景四、与springboot的整合1、导入基础依赖2、配置文件3、自定义RedisSubConfig4、自定义消息监听器5...
    99+
    2024-04-02
  • Redis系列(八):发布与订阅
    Redis的发布与订阅,有点类似于消息队列,发送者往频道发送消息,频道的订阅者接收消息。 1. 发布与订阅示例 首先,在本机开启第1个Redis客户端,执行如下命令订阅blog.redis频道: SUBSCRIBE "blog.r...
    99+
    2015-06-07
    Redis系列(八):发布与订阅
  • Redis发布订阅实例分析
    这篇文章主要介绍了Redis发布订阅实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Redis发布订阅实例分析文章都会有所收获,下面我们一起来看看吧。Redis 发布订阅...
    99+
    2024-04-02
  • redis怎么进行发布订阅
    redis进行发布订阅的方法:代码:public void publish(String topic ,String messge){Jedis jedis = null;if (StringUtils.isBlank(topic)){to...
    99+
    2024-04-02
  • redis的订阅功能有什么用
    redis订阅功能可以用于消息的传输,是一种消息通信模式,Redis客户端可以订阅任意数量的频道,具体实现代码:package com.hcmony.sword.redis;import org.apache.commo...
    99+
    2024-04-02
  • Redis发布/订阅模式实例分析
    这篇文章主要讲解了“Redis发布/订阅模式实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis发布/订阅模式实例分析”吧!Redis发布/订阅应用发布订阅(pub/sub)是一...
    99+
    2023-06-27
  • Kafka如何实现消息的发布和订阅功能
    Kafka 是一个分布式的消息系统,它实现了消息的发布和订阅功能。在 Kafka 中,消息的发布和订阅是通过 Producer 和 ...
    99+
    2024-03-06
    Kafka
  • 【赵强老师】Redis的消息发布与订阅
    Redis 作为一个publish/subscribe server,起到了消息路由的功能。订阅者可以通过subscribe和psubscribe命令向Redis server订阅自己感兴趣的消息类型,当发布者通过publish...
    99+
    2021-07-29
    【赵强老师】Redis的消息发布与订阅
  • 利用Redis实现分布式消息发布订阅
    利用Redis实现分布式消息发布订阅在分布式系统中,消息的发布和订阅是常用的通信模式。在这个模式下,消息发布者将消息发送给一个或多个主题,订阅者则订阅感兴趣的主题,并接收相应的消息。为了实现这个模式,我们可以借助Redis这个高性能的内存数...
    99+
    2023-11-07
    分布式 redis 消息订阅
  • Spring boot+redis实现消息发布与订阅
    一.创建spring boot项目 org.springframework.boot spring-boot-starter-data-redis ...
    99+
    2017-09-29
    Spring boot+redis实现消息发布与订阅
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作