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'))