安装redis-py
GitHub地址https://github.com/andymccurdy/redis-pygit
pip3 install redis
##链接redis
redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类github
import redis r = redis.StrictRedis(host='localhost', port=6379, db=0) r.set('foo', 'bar') c = r.ge
链接池
redis-py使用connection pool来管理对一个redis server的全部链接,避免每次创建、释放链接的开销。默认,每一个Redis实例都会维护一个本身的链接池。能够直接创建一个链接池,而后做为参数Redis,这样就能够实现多个Redis实例共享一个链接池。redis
import redis pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True) clientOne = redis.Redis(connection_pool=pool) clientTwo = redis.Redis(connection_pool=pool) clientOne.set('name1', 'zhangsan') print(clientOne.get('name1')) clientTwo.set('name2', 'lisi') print(clientTwo.get('name2')) print(clientOne.client_list()) print(clientTwo.client_list()) # 能够看出两个链接的id是一致的,说明是一个客户端链接
##管道
redis-py默认在执行每次请求都会建立(链接池申请链接)和断开(归还链接池)一次链接操做,若是想要在一次请求中指定多个命令,则可使用pipline实现一次请求指定多个命令,而且默认状况下一次pipline 是原子性操做。spa
import redis pool = redis.ConnectionPool(host='localhost', port=6379) r = redis.Redis(connection_pool=pool) pipe = r.pipeline() r.set('name', 'zhangsan') r.set('name', 'lisi') r.set('name', 'wangwu') pipe.execute()
经常使用操做
####设置
在Redis中设置值,默认,不存在则建立,存在则修改。 ex表示过时时间(秒),px表示过时时间(毫秒), nx表示若是设置为True,则只有name不存在时,当前set操做才执行,xx表示若是设置为True,则只有name存在时,set操做才执行。.net
设置过时时间为1秒3d
设置不存在采起修改code
本文同步分享在 博客“羊羽”(other)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。server