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中base64加密解密方法实例分析
May 16 Python
python采集百度百科的方法
Jun 05 Python
Python实现的摇骰子猜大小功能小游戏示例
Dec 18 Python
transform python环境快速配置方法
Sep 27 Python
浅谈django三种缓存模式的使用及注意点
Sep 30 Python
Pandas之ReIndex重新索引的实现
Jun 25 Python
python 中如何获取列表的索引
Jul 02 Python
python求最大值,不使用内置函数的实现方法
Jul 09 Python
Tensorflow训练模型越来越慢的2种解决方案
Feb 07 Python
使用Python画了一棵圣诞树的实例代码
Nov 27 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
Dec 10 Python
python中uuid模块实例浅析
Dec 29 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版
2012/04/20 PHP
php设计模式小结
2013/02/15 PHP
php设计模式之策略模式应用案例详解
2019/06/17 PHP
php输出文字乱码的解决方法
2019/10/04 PHP
javascript 三种编解码方式
2010/02/01 Javascript
nodejs中exports与module.exports的区别详细介绍
2013/01/14 NodeJs
JavaScript中数组添加值和访问值常见问题
2016/02/06 Javascript
jQuery Mobile框架中的表单组件基础使用教程
2016/05/17 Javascript
三种带箭头提示框总结实例
2016/06/14 Javascript
jquery实现简单Tab切换菜单效果
2020/07/17 Javascript
AngularJS 单元测试(二)详解
2016/09/21 Javascript
jQuery实现最简单实用的分秒倒计时
2017/02/05 Javascript
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
layer.open 按钮的点击事件关闭方法
2018/08/17 Javascript
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
vue项目中全局引入1个.scss文件的问题解决
2019/08/01 Javascript
JS造成内存泄漏的几种情况实例分析
2020/03/02 Javascript
简介Django中内置的一些中间件
2015/07/24 Python
python 实现自动远程登陆scp文件实例代码
2017/03/13 Python
简单了解python模块概念
2018/01/11 Python
pygame游戏之旅 游戏中添加显示文字
2018/11/20 Python
python中sort和sorted排序的实例方法
2019/08/26 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
2020/06/04 Python
基于Python和C++实现删除链表的节点
2020/07/06 Python
Python的logging模块基本用法
2020/12/24 Python
父母寄语大全
2014/04/12 职场文书
学校地质灾害防治方案
2014/06/10 职场文书
新疆民族团结演讲稿
2014/08/27 职场文书
2014年客房服务员工作总结
2014/11/18 职场文书
营业员岗位职责范本
2015/04/14 职场文书
2015年学生会部门工作总结
2015/04/21 职场文书
2015年学校党建工作总结
2015/05/19 职场文书
新郎新娘致辞
2015/07/31 职场文书
实习报告范文之电话客服岗位
2019/07/26 职场文书