zoukankan      html  css  js  c++  java
  • 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

    每天都要遇到更好的自己.
  • 相关阅读:
    是否需要有代码规范
    小学四则运算生成程序(支持分数)总结
    HDU 4035 Maze 期望dp
    UVA
    HDU 3853 LOOPS 期望dp
    POJ 2096 Collecting Bugs 期望dp
    HDU 4405 Aeroplane chess 期望dp
    Codeforces Round #341 (Div. 2) E. Wet Shark and Blocks dp+矩阵加速
    HDU 4616 Game 树形dp
    HDU 4126 Genghis Khan the Conqueror 最小生成树+树形dp
  • 原文地址:https://www.cnblogs.com/kaichenkai/p/10895928.html
Copyright © 2011-2022 走看看