开发者社区> 问答> 正文

python 的 redis 库,连接池如何使用?

redis库的 Redis 类型,构造的时候接受一个 connection_pool 参数,但是这个参数怎么用呢?
1.如果是应用程序,程序起来的时候我做一个链接,把对象传来传去,或者保存为全局,就可以不用再连接直接操作了,也用不到 pool。
2.如果是Web 程序,如果用 flask, 我把对象保存到 g 下面,也用不到 pool
3.如果Web 程序用 django,每次链接都是新的,更不知道怎么用了。

展开
收起
落地花开啦 2016-02-28 17:58:36 5283 0
2 条回答
写回答
取消 提交回答
  • 就职于阿里云数据库技术组,从事redis引擎开发工作,https://github.com/soloestoy

    import redis

    class RedisClient(object):

    def __init__(self, host="localhost", port=None, pwd=None, timeout=3000, max_connections=5):
        self.redis = redis.StrictRedis(host=host, port=int(port), password=pwd, socket_timeout=timeout)
        self.redis.connection_pool.max_connections=max_connections
    2019-07-17 18:49:55
    赞同 展开评论 打赏
  • 喜欢技术,喜欢努力的人

    Redis 的连接池是多线程安全的、多进程安全的、自动重连的。
    你扔 flask.g 之类的全局的地方当然也行,反正 Redis 总是会使用连接池(不指定它每次就用一个新的)。显式指定连接池的话差异不大,反正你总是要手动在某个全局的地方存一样东西(连接池对象或者 Redis 对象)。

    2019-07-17 18:49:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载