python_redis封装

最近想要将临时数据放入redis中,所以就研究了一下

需要的第三方库:redis

  • 安装可以用pip 也可以通过pycharm

封装思路:

  • 通过应用可以知道,redis这个库已经将操作redis的各种方法封装好了,所以我们如果用的话只需要做的就是连接上所需要的库,然后应用
  • 这里用到了两个魔法方法__init__,__getattr:
  • __init__:起到的作用是连接redis库的作用
  • __getattr__:起到的作用是重载方法,通俗点就是如果我们访问一个类中不存在的方法时,那么这时候就会进入这个方法中,通过重载这个方法再给他一次执行的机会

实现代码:

redis.py

# coding=utf-8
__author__ = 'xcma'

import sys

reload(sys)
sys.setdefaultencoding('utf-8')

import redis

class Redis:

    def __init__(self, host='127.0.0.1', port=6379, db=0, password=None):
        self.__conn = redis.Redis(connection_pool=redis.BlockingConnectionPool(max_connections=15,host=host, port=port, db=db, password=password))

    def __getattr__(self, command):
        def _(*args):
            return getattr(self.__conn, command)(*args) # 重新组装方法调用
        return _

外部调用代码

test.py

from Src.Function.model.Redis.Redis import Redis

conn = Redis()

print (conn.set('test', 'yes'))

# 返回结果:True

@雪-2017-01-16 10:50:02

你可能感兴趣的:(python_redis封装)