python使用连接池连接redis及python操作redis

详解 : https://blog.csdn.net/Fe_cow/article/details/90212622
一.
①common 文件夹下面有clients文件,里面有:
class Clients:
@lazy_property
def mysql_db(self):
from sqlalchemy import create_engine
return create_engine(settings.MYSQL_DB, **settings.SQLALCHEMY_ENGINE_CONFIG)

@lazy_property
def user_redis(self):
    import redis
    return redis.Redis(connection_pool=redis.BlockingConnectionPool.from_url(settings.USER_REDIS))

@lazy_property
def session_redis(self):
    import redis
    return redis.Redis(connection_pool=redis.BlockingConnectionPool.from_url(settings.SESSION_REDIS))

settings.SESSION_REDIS 就是 "redis://root:[email protected]/1"

clients = Clients()


from common.clients import clients

pl = clients.session_redis.pipeline()
pl.setex(
'{}'.format(token),
TOKEN_REDIS_EXPIRES, #在redis里面的生存时间
user_info.json()
)
pl.setex(
'token_{}'.format(user_id),
TOKEN_REDIS_EXPIRES,
token
)
pl.execute()

二.
python 操作redis : https://www.cnblogs.com/xiaoming279/p/6293583.html

删除redis里面的任意数据

delete(*names) # 根据键值删除redis中的任意数据类型

1.string
实例:G:\pythonProject-3\CashLoan\common\user_auth.py 的 login_user函数
F:\demo3\CashLoanAdmin-2\common\cached\redis_cache_load.py 的 load_user_level 函数

  1. hash
    实例: F:\demo3\CashLoanAdmin-2\common\cached\redis_cache_load.py 的 load_user_level函数
    F:\demo3\CashLoanAdmin-2\common\cached\redis_cache_opera.py 的 hget_user_level函数
    F:\demo3\CashLoanAdmin-2\common\cached\redis_cache_load.py 的 load_config函数

user_level = clients.config_redis.hget(name="user_level", key=f"level_{user_level_id}")

clients.user_redis.hset("admin_users", "admin_{}".format(admin_id), json_dumps(value))

hmset(name, mapping) # 在name对应的hash中批量设置键值对
hmget(name, keys, *args) # 在name对应的hash中获取多个key的值

3.zset
实例:G:\pythonProject-4\Schedule\redis_cached\operate.py 里面的 get_first_admin函数
G:\pythonProject-4\CashLoanAdmin\common\case_assign_strategy\collection_case.py 里面的load_collection_admin_set函数

三.

  1. Redis TTL 命令
    详解: https://www.runoob.com/redis/keys-ttl.html

python 操作redis:
res = clients.user_redis.ttl(f'lock_user_{user_id}')

原生redis:
redis 127.0.0.1:6379> TTL KEY_NAME

你可能感兴趣的:(python使用连接池连接redis及python操作redis)