随笔 - 29  文章 - 0  评论 - 0  阅读 - 11206

9. Redis封装使用

可直接使用如下代码,对redis进行直接的使用。
封装代码:
import redis
import os


def singleton(cls):
    """ 单例模式装饰器 """
    instances = {}

    def get_instance(*args, **kwargs):
        if cls not in instances:
            instances[cls] = cls(*args, **kwargs)
        return instances[cls]

    return get_instance


# 创建一个带有装饰器的类
@singleton
class RedisPool:
    def __init__(self):
        self._redis_conn = None
        self.pool = redis.ConnectionPool(
            host=os.getenv('REDIS_IP') if os.getenv('REDIS_IP') else '127.0.0.1',
            port=6379,
            decode_responses=True
        )

    @property
    def redis_conn(self) -> redis.Redis:
        self._redis_conn = redis.Redis(connection_pool=self.pool)
        return self._redis_conn

下次需要使用redis的时候,直接调用上面封装好的方法即可,如:

   r = RedisPool().redis_conn
    r.set('foo', 'bar')
    r.lpush("a","b")
    r.lpush("a","c")
    r.lpush("a","d")
    r.lpop("a")

 
 
 
posted on   叮叮当~  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示