当前位置: 首页 > news >正文

python redis使用心得

发布与订阅

连接池代码 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/

相关文章:

  • Tools - Markdown
  • 深入理解ajax系列第一篇——XHR对象
  • 如果图片链接找不到地址出错自动显示默认图片(头像)
  • 现代化敏捷简介
  • HTML link标签media参数
  • mongodb中数据类型的坑
  • Velocity初探小结--Velocity在spring中的配置和使用
  • 图像金字塔
  • 如何学习linux的建议
  • Scrapy ImagePipeline(图片下载组件)
  • Spring boot ---- java.lang.NoClassDefFoundError: javax/servlet/ServletContext
  • Java读取表格数据
  • 将js对象转为json对象属性加上引号
  • 【Augmented Reality】增强现实中的光学透射式头盔显示器的标定进阶
  • 词向量的运用-用词向量理解词组的含义
  • Akka系列(七):Actor持久化之Akka persistence
  • export和import的用法总结
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • MySQL的数据类型
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • webpack4 一点通
  • XML已死 ?
  • yii2权限控制rbac之rule详细讲解
  • 程序员该如何有效的找工作?
  • 后端_ThinkPHP5
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 力扣(LeetCode)965
  • 为什么要用IPython/Jupyter?
  • 自定义函数
  • ​渐进式Web应用PWA的未来
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • $.ajax()
  • (2)Java 简介
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (论文阅读40-45)图像描述1
  • (四)Linux Shell编程——输入输出重定向
  • (五)c52学习之旅-静态数码管
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .net 获取url的方法
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .Net的DataSet直接与SQL2005交互
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • /etc/fstab和/etc/mtab的区别
  • ?php echo ?,?php echo Hello world!;?
  • @JoinTable会自动删除关联表的数据
  • [ C++ ] STL_vector -- 迭代器失效问题
  • [20171102]视图v$session中process字段含义
  • [android] 看博客学习hashCode()和equals()