redis库的 Redis 类型,构造的时候接受一个 connection_pool 参数.但是这个参数怎么用呢?想不清楚.
- 如果是应用程序, 程序起来的时候我做一个链接,把对象传来传去,或者保存为全局,就可以不用再连接直接操作了.也用不到 pool
- 如果是Web 程序,如果用 flask , 我把对象保存到 g 下面,也用不到 pool
- 如果Web 程序用 django ,每次链接都是新的,更不知道怎么用了.
redis库的 Redis 类型,构造的时候接受一个 connection_pool 参数.但是这个参数怎么用呢?想不清楚.
连接池的作用是当前连接断掉了自动重连
使用方法 https://github.com/andymccurdy/redis-py#connection-pools
你可以全局都公用一个 redis client
By default, each Redis instance you create will in turn create its own connection pool.
你可以不用自己手动使用连接池
2 回答4.3k 阅读✓ 已解决
2 回答858 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答848 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答3.4k 阅读
4 回答2.5k 阅读
Redis 的连接池是多线程安全的、多进程安全的、自动重连的。
你扔 flask.g 之类的全局的地方当然也行,反正 Redis 总是会使用连接池(不指定它每次就用一个新的)。显式指定连接池的话差异不大,反正你总是要手动在某个全局的地方存一样东西(连接池对象或者 Redis 对象)。