• 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

    每天都要遇到更好的自己.
  • 相关阅读:
    ffmpeg
    HDU 1031 Design T-Shirt
    HDU 1029 Ignatius and the Princess IV
    HDU 1022 Train Problem I
    HDU 1017 A Mathematical Curiosity
    HDU 1015 Safecracker
    HDU 1002 A + B Problem II
    HDU 1070 Milk
    高精度算法(一)
    codeblocks 使用心得
  • 原文地址:https://www.cnblogs.com/kaichenkai/p/10895928.html
Copyright © 2020-2023  润新知