Python使用redis pool的一种单例实现方式


Posted in Python onApril 16, 2016

本文实例讲述了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 相关文章推荐
python 自动提交和抓取网页
Jul 13 Python
Python使用getpass库读取密码的示例
Oct 10 Python
python批量读取txt文件为DataFrame的方法
Apr 03 Python
wxPython实现窗口用图片做背景
Apr 25 Python
python 实现登录网页的操作方法
May 11 Python
在Pycharm中项目解释器与环境变量的设置方法
Oct 29 Python
Python+opencv 实现图片文字的分割的方法示例
Jul 04 Python
python实现读取excel文件中所有sheet操作示例
Aug 09 Python
Keras—embedding嵌入层的用法详解
Jun 10 Python
树莓派升级python的具体步骤
Jul 05 Python
python 读txt文件,按‘,’分割每行数据操作
Jul 05 Python
python 提高开发效率的5个小技巧
Oct 19 Python
说一说Python logging
Apr 15 #Python
Python Web框架Tornado运行和部署
Oct 19 #Python
Python爬虫爬验证码实现功能详解
Apr 14 #Python
Python实现简单登录验证
Apr 13 #Python
Python数组定义方法
Apr 13 #Python
Python基于select实现的socket服务器
Apr 13 #Python
Python简单实现子网掩码转换的方法
Apr 13 #Python
You might like
PHP之生成GIF动画的实现方法
2013/06/07 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
thinkphp中字符截取函数msubstr()用法分析
2016/01/09 PHP
PHP分享图片的生成方法
2018/04/25 PHP
jQuery 插件仿百度搜索框智能提示(带Value值)
2013/01/22 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
浅谈jquery中使用canvas的问题
2016/10/10 Javascript
jQuery Ajax前后端使用JSON进行交互示例
2017/03/17 Javascript
jQuery仿移动端支付宝键盘的实现代码
2018/08/15 jQuery
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
[01:06:25]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python批量修改文件后缀的方法
2014/01/26 Python
Python RuntimeError: thread.__init__() not called解决方法
2015/04/28 Python
python装饰器与递归算法详解
2016/02/18 Python
Python编程使用NLTK进行自然语言处理详解
2017/11/16 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
python3.x提取中文的正则表达式示例代码
2019/07/23 Python
python打造爬虫代理池过程解析
2019/08/15 Python
Python csv模块使用方法代码实例
2019/08/29 Python
python tkinter的消息框模块(messagebox,simpledialog)
2020/11/07 Python
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
致长跑运动员广播稿
2014/01/31 职场文书
小学敬老月活动方案
2014/02/11 职场文书
管理学院毕业生自荐信范文
2014/03/10 职场文书
班委竞选演讲稿
2014/04/28 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
群众路线教育实践活动方案
2014/10/31 职场文书
导游词欢迎词
2015/02/02 职场文书
2015年党风廉政建设工作总结
2015/04/09 职场文书
经营场所证明范本
2015/06/19 职场文书
一篇文章学会Vue中间件管道
2021/06/20 Vue.js
PYTHON InceptionV3模型的复现详解
2022/05/06 Python