Redis 3. 与python交互

孤街浪徒 提交于 2020-01-30 10:20:33

3. 与python交互

安装包

sudo pip install redis
  • 使用源码安装
unzip redis-py-master.zip
cd redis-py-master
sudo python setup.py install

交互代码

  • 引入模块
import redis
  • 连接
try:
    r=redis.StrictRedis(host='localhost',port=6379)
except Exception,e:
    print e.message
  • 方式一:根据数据类型的不同,调用相应的方法,完成读写
  • 更多方法同前面学的命令
r.set('name','hello')
r.get('name')
  • 方式二:pipline
  • 缓冲多条命令,然后一次性执行,减少服务器-客户端之间TCP数据库包,从而提高效率
pipe = r.pipeline()
pipe.set('name', 'world')
pipe.get('name')
pipe.execute()

封装

  • 连接redis服务器部分是一致的
  • 这里将string类型的读写进行封装
import redis


class RedisHelper(object):
    def __init__(self, host='localhost', port=6379):
        self.__redis = redis.StrictRedis(host, port, password='123456')

    def get(self, key):
        if self.__redis.exists(key):
            return self.__redis.get(key)
        else:
            return ""

    def set(self, key, value):
        self.__redis.set(key, value)


def test():
    """批量写:缓冲多条命令,然后一次性执行,减少服务器-客户端之间TCP数据库包,从而提高效率"""
    r = redis.StrictRedis('localhost', 6379, password='123456')
    pipe = r.pipeline()
    pipe.set('py1', 'hello1')
    pipe.set('py2', 'hello2')
    pipe.execute()


if __name__ == '__main__':
    rh = RedisHelper()
    rh.set('mykey1', 'myval1')
    rh.set('mykey2', 'myval2')
    rh.set('mykey3', 'myval3')
    print(rh.get('mykey2').decode('utf8'))

 

 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!