文章内容
2023/2/13 12:42:12,作 者: 黄兵
Redis 复用连接池
在每次使用 Redis 都进行连接的话会降低 Redis 的效率,都知道 Redis 是基于内存的数据库,效率超高,所以每次进行连接比真正使用消耗的资源和时间还多。
所以为了节省资源,减少多次连接损耗,连接池的作用相当于缓存了多个客户端与 Redis 服务端的连接,当有新的客户端来进行连接时,此时,只需要去连接池获取一个连接即可,实际上连接池就是把一个连接共享给多个客户端,可以说是广播,要用的话就去接收。
下面的示例使用了单例模式创建了一个 Redis 连接池:
import redis class RedisOperation(object): def __new__(cls): if not hasattr(cls, 'instance'): pool = redis.ConnectionPool(host='localhost', port=6379, db=0) cls.instance=redis.StrictRedis(connection_pool=pool) return cls.instance obj1=RedisOperation() print(id(obj1)) obj2 = RedisOperation() print(id(obj2))
以上两个对象都指的是同一个 redis 连接池。
参考资料:
评论列表