Redis 简单使用 and 连接池(python)

Redis 简介

NoSQL(not only sql):非关系型数据库

支持 key-value,  list,  set,  zset,  hash 等数据结构的存储;支持主从数据备份,集群;支持发布,订阅,通知,key 过期等特性

Redis 的所有操作都是原子性的

应用场景:

  1. 缓存:内存数据库
  2. 可以在某些特定应用场景下替代关系数据库,比如社交类的应用
  3. 在一些大型系统中,实现一些特定功能,比如 session 共享,购物车等

redis 官网:https://redis.io/

redis 中文官网:http://redis.cn/

redis 连接池

redis.py 使用 ConnectionPool 来管理对一个 redis server 的连接,避免每次建立、释放连接的开销。默认,每个 Redis 实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数Redis,这样就可以实现多个Redis实例共享一个连接池。

# coding: utf-8
import redis as redis_db
from conf.setting import REDIS_HOST, REDIS_PORT, PASSWORD, DB, KEY


class RedisPool(object):
    __Pool = None

    # def __init__(self):
    def __init__(self):
        self.session = self.get_conn()

    @staticmethod
    def get_conn():
        if not RedisPool.__Pool:
            RedisPool.__Pool = redis_db.ConnectionPool(host=REDIS_HOST, port=REDIS_PORT, password=PASSWORD, db=DB)
        #
        session = redis_db.StrictRedis(connection_pool=RedisPool.__Pool)
        return session

    def add_one(self, value):
        ret = self.session.lpush(KEY, value)
        return ret

    def take_one(self):
        vlaue = self.session.rpop(KEY)
        return vlaue


redis_pool = RedisPool()

参考链接:https://www.cnblogs.com/xiaoming279/p/6293583.html

每天都要遇到更好的自己.
原文地址:https://www.cnblogs.com/kaichenkai/p/10895928.html