• python redis操作


    1. redis是一个key-value的存储系统,支持存储的value类型很多,包括string,set,zset(sorted set  有序集合),list,hash。redis和memcache都是将数据缓存于计算机内存中,不同的是redis可以定期将更新的数据写入磁盘,实现数据的持久化存储。

    2. redis的安装

      wget http://download.redis.io/releases/redis-3.2.8.tar.gz

      tar zxvf redis-3.2.8.tar.gz

      cd redis-3.2.8

      make

      cd src

      make install

    3. redis的部署

      为了方便管理,会将redis的conf文件移动到统一配置文件中

      (1)创建bin和redis.conf文件

        

        移动文件

        

        

        直接执行redis实在前台执行的,指定配置文件从后台运行(将daemonize属性改为yes)

         

        启动redis,并指定配置文件,可从后台启动

        

      (2)执行redis-cli启动客户端

        

        

      (3)redis的基本操作

         

    4. python操作redis

      1.  使用redis设置key,value:

    import redis
    
    conn = redis.Redis(host='127.0.0.1')
    conn.set('test','redis test')
    a = conn.get('test')
    print(a)

      2.  发布订阅:

      声明一个redis类

    import redis
    
    class RedisTest(object):
            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):
                    return self.__conn.set(key,value)
            def public(self,msg):                         #发布消息
                    self.__conn.publish(self.chan_pub,msg)
                    return True
            def subscribe(self):                          #接收消息
                    pub = self.__conn.pubsub()            #建立pubsub对象订阅通道和侦听新消息
                    pub.subscribe(self.chan_sub)          #订阅频道
                    pub.parse_response()                  #阻塞中,等待接收消息
                    return pub

      发布者,发送信息:

    from redistest import RedisTest
    
    obj = RedisTest()
    obj.public('hello')

      订阅者,接受信息:

    from redistest import RedisTest
    
    obj = RedisTest()
    redis_sub = obj.subscribe()
    
    while True:
            msg = redis_sub.parse_response()
            print(msg)

     参考链接:

      http://www.cnblogs.com/wupeiqi/articles/5132791.html

      http://www.cnblogs.com/wangchunniu1314/p/6339416.html

      http://doc.redisfans.com/

  • 相关阅读:
    asp.net2.0中App_GlobalResources的使用
    KPI(Key Performance Indicators )
    Dictionary集合
    SQL连接查询1 内联接查询
    如何在Web.config中注册用户控件和自定义控件
    JavaScript中【数据类型】和【数组类型】的区别
    递归求斐波拉数列函数
    SQL连接查询2 外连接(左右联接查询)
    启示
    “帽子戏法”从何而来?
  • 原文地址:https://www.cnblogs.com/homle/p/8686485.html
Copyright © 2020-2023  润新知