手机
当前位置:查字典教程网 >脚本专栏 >python >Python使用redis pool的一种单例实现方式
Python使用redis pool的一种单例实现方式
摘要:本文实例讲述了Python使用redispool的一种单例实现方式。分享给大家供大家参考,具体如下:为适应多个redis实例共享同一个连接池...

本文实例讲述了Python使用redis pool的一种单例实现方式。分享给大家供大家参考,具体如下:

为适应多个redis实例共享同一个连接池的场景,可以类似于以下单例方式实现:

import redis class RedisDBConfig: HOST = '127.0.0.1' PORT = 6379 DBID = 0 def operator_status(func): '''''get operatoration status ''' def gen_status(*args, **kwargs): error, result = None, None try: result = func(*args, **kwargs) except Exception as e: error = str(e) return {'result': result, 'error': error} return gen_status class RedisCache(object): def __init__(self): if not hasattr(RedisCache, 'pool'): RedisCache.create_pool() self._connection = redis.Redis(connection_pool = RedisCache.pool) @staticmethod def create_pool(): RedisCache.pool = redis.ConnectionPool( host = RedisDBConfig.HOST, port = RedisDBConfig.PORT, db = RedisDBConfig.DBID) @operator_status def set_data(self, key, value): '''''set data with (key, value) ''' return self._connection.set(key, value) @operator_status def get_data(self, key): '''''get data by key ''' return self._connection.get(key) @operator_status def del_data(self, key): '''''delete cache by key ''' return self._connection.delete(key) if __name__ == '__main__': print RedisCache().set_data('Testkey', "Simple Test") print RedisCache().get_data('Testkey') print RedisCache().del_data('Testkey') print RedisCache().get_data('Testkey')

希望本文所述对大家Python程序设计有所帮助。

【Python使用redis pool的一种单例实现方式】相关文章:

python使用scrapy解析js示例

python中使用urllib2伪造HTTP报头的2个方法

Python Web框架Pylons中使用MongoDB的例子

python在windows下实现备份程序实例

python中使用urllib2获取http请求状态码的代码例子

python二叉树的实现实例

python 测试实现方法

Python中文件遍历的两种方法

Python translator使用实例

Python yield使用方法示例

精品推荐
分类导航