zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    C++结构体中sizeof
    sizeof()的用法
    XStream和Json
    省市联动
    ajax
    配置文件的读取
    JSP标签库
    字符串函数参数传入传出(去空格)
    字符串函数参数传入传出(字符串反转)
    opendir,readdir,closedir
  • 原文地址:https://www.cnblogs.com/shhnwangjian/p/6050632.html
Copyright © 2011-2022 走看看