发布与订阅

连接池代码 redis_conn.py

import redis

REDIS_CONN = {
'HOST': '192.168.1.11',
'PORT': '6378',
'DB': '1',
'CHANNEL': 'alarm',
'PASSWORD': '123456',
} def redis_conn():
try:
pool = redis.ConnectionPool(host=REDIS_CONN['HOST'],
db=REDIS_CONN['DB'],
port=REDIS_CONN['PORT'])
r = redis.Redis(connection_pool=pool, password=REDIS_CONN['PASSWORD'])
return r
except Exception as err:
print err

发布端代码

import json
redis_publish_data = {
"id": "",
"content": "",
} redis_publish_data['host_id'] = 123
redis_publish_data['content'] = "内容"
redis_publish_data = json.dumps(redis_publish_data) REDIS_OBJ = redis_conn()
REDIS_OBJ.publish(REDIS_CONN['CHANNEL'], redis_publish_data)

订阅端代码

import json
REDIS_OBJ = redis_conn() def redis_subscribe():
p = REDIS_OBJ.pubsub()
p.subscribe(REDIS_CONN['CHANNEL'])
while True:
for item in p.listen():
if item['type'] == 'message':
# print item['channel'], item['data'], type(item['data'])
data = json.loads(item['data'])
print data['content'].encode('utf-8')
time.sleep(0.5)

管道

from redis_conn import *

def redis_pipeline():
pipe = REDIS_OBJ.pipeline()
REDIS_OBJ.set('name', 'wangjian')
REDIS_OBJ.set('role', 'SRE')
pipe.execute()

Redis命令参考 http://doc.redisfans.com/

python redis使用心得的更多相关文章

  1. python+redis测试环境搭建

    针对windows操作系统. redis安装: 微软操作系统下,需下载github下面的开源项目,redis网站地址可以找到,直接解压即可. cmd到指定目录,输入下方命令,启动redis服务. re ...

  2. python urllib2使用心得

    python urllib2使用心得 1.http GET请求 过程:获取返回结果,关闭连接,打印结果 f = urllib2.urlopen(req, timeout=10) the_page = ...

  3. Python redis 简单介绍

    Python redis 简单介绍 1.安装 终端输入: pip(or)pip3.6 install redis 安装成功 2.哈哈,发现我并没有redis服务可以访问,所以到这里,在本机安装了red ...

  4. 生产消费者模式与python+redis实例运用(中级篇)

    上一篇文章介绍了生产消费者模式与python+redis实例运用(基础篇),但是依旧遗留了一个问题,就是如果消费者消费的速度跟不上生产者,依旧会浪费我们大量的时间去等待,这时候我们就可以考虑使用多进程 ...

  5. 生产消费者模式与python+redis实例运用(基础篇)

    根据这个图,我们举个简单的例子:假如你去某个餐厅吃饭,点了很多菜,厨师要一个一个菜的做,一个厨师不可能同时做出所有你点的菜,于是你有两个选择:第一个,厨师把所有菜都上齐了,你才开始吃:还有一个选择,做 ...

  6. python redis中blpop和lpop的区别

    python redis 中blpop返回的是元组对象,因此返回的时候注意 lpop返回的是对象

  7. windows中实现python,redis服务自动重启(任务计划程序+bat脚本)

    需求:银行电脑无法自动开机,只能 通过 应用相关服务每天自动重启的方式实现 服务更新并且防止服务假死,内存过大 等情况 相关工具:win10系统中,使用windows自带的任务计划程序 和 bat脚本 ...

  8. python redis分布式锁改进

    0X01 python redis分布式锁通用方法 REDIS分布式锁实现的方式:SETNX + GETSET 使用Redis SETNX 命令实现分布式锁 python 版本实现上述思路(案例1) ...

  9. python redis之连接池的原理

    python redis之连接池的原理 转载地址 什么是连接池 通常情况下, 当我们需要做redis操作时, 会创建一个连接, 并基于这个连接进行redis操作, 操作完成后, 释放连接, 一般情况下 ...

随机推荐

  1. nios II--实验1——hello_world软件部分

    hello_world 软件开发 首先,在硬件工程文件夹里面新建一个software的文件夹用于放置软件部分:打开toolsàNios II 11.0 Software Build Tools for ...

  2. SEO站点优化学习总结

    1.网站收录查询 在搜索引擎里面输入Site:域名 即可. 尾巴——学习SEO可以看看以下几个网站: 卢松松博客[一个草根的博客]:http://lusongsong.com/ 站长之家[里面有站长统 ...

  3. 实现解耦-Spring.Net

    spring.net属于IOC(中文名:控制反转)的思想实现. 概念解释: 控制反转概念: 控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来 ...

  4. mybatis generator使用总结

    一.mybatis项目的体系结构 百度mybaits,可以进入mybatis的github:https://github.com/mybatis. mybatis是一个大大的体系,它不是孤立的,它可以 ...

  5. 【Python】 [基础] list和tuple

    list 类型,这不就是js里的数组吗,,最后一个元素索引是 -1list是一个可变的有序的表,#追加.append('admin')#插入.insert(1,'admin')#删除末尾元素.pop( ...

  6. 1118sync_binlog innodb_flush_log_at_trx_commit 浅析

    转自 http://blog.itpub.net/22664653/viewspace-1063134/  innodb_flush_log_at_trx_commit和sync_binlog 两个参 ...

  7. Apache Tomcat相应插件版本

    参考页面: http://tomcat.apache.org/whichversion.html

  8. 美发帮--android APP开发实战

    登陆界面,LinearLayout  ImageView  Button   用到了ImageView自动缩放,和自定义Button形状及State-Drawable,还用到了动画. 自定义控件之圆形 ...

  9. Mahout安装与配置

    一.安装mahout 1.下载mahout(mahout-distribution-0.9.tar.gz) http://pan.baidu.com/s/1kUtOMQb 2.解压至指定目录 我平时都 ...

  10. linux centos中使用yum安装tomcat

    在linux下部署java开发的web应用,一般采用Tomact+jre环境(可不需要apache),在RHEL和CentOS下,可以采用yum在线自动安装方式安装,具体操作如下: 可以先查看tomc ...