python操作redis的方法有哪些
短信预约 -IT技能 免费直播动态提醒
这篇文章主要介绍了python操作redis的方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python操作redis的方法有哪些文章都会有所收获,下面我们一起来看看吧。
python 操作redis,使用连接池:
redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认,每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数Redis,这样就可以实现多个Redis实例共享一个连接池。
def getcoon(): pool = redis.ConnectionPool(host='192.168.25.126', port=6379, password='123456', db=0) coon = redis.Redis(connection_pool=pool) coon.set('key', 'value') res = coon.get('key') return res
coon.set('sea', 'hahhahaha', ex=30) # 过期时间单位s
set(name, value, ex=None, px=None, nx=False, xx=False)在 Redis 中设置值,默认,不存在则创建,存在则修改。参数:ex - 过期时间(秒)px - 过期时间(毫秒)nx - 如果设置为True,则只有name不存在时,当前set操作才执行xx - 如果设置为True,则只有name存在时,当前set操作才执行
redis 使用连接池操作
class OPRedis(object): def __init__(self): if not hasattr(OPRedis, 'pool'): OPRedis.getRedisCoon() #创建redis连接 self.coon = redis.Redis(connection_pool=OPRedis.pool) @staticmethod def getRedisCoon(): OPRedis.pool = redis.ConnectionPool(host=redisInfo['host'], password=redisInfo['password'], port=redisInfo['port'], db=redisInfo['db']) """ string类型 {'key':'value'} redis操作 """ def setredis(self, key, value, time=None): #非空即真非0即真 if time: res = self.coon.setex(key, value, time) else: res = self.coon.set(key, value) return res def getRedis(self, key): res = self.coon.get(key).decode() return res def delRedis(self, key): res = self.coon.delete(key) return res """ hash类型,{'name':{'key':'value'}} redis操作 """ def setHashRedis(self, name, key, value): res = self.coon.hset(name, key, value) return res def getHashRedis(self, name, key=None): # 判断key是否我为空,不为空,获取指定name内的某个key的value; 为空则获取name对应的所有value if key: res = self.coon.hget(name, key) else: res = self.coon.hgetall(name) return res def delHashRedis(self, name, key=None): if key: res = self.coon.hdel(name, key) else: res = self.coon.delete(name) return res
redisInfo配置
redisInfo = { "host": '192.168.1.112', "password": '123456', "port": 6379, "db": 0}
关于“python操作redis的方法有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“python操作redis的方法有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341