zbx-tg-bot/redis_db/crud.py

60 lines
1.7 KiB
Python

import logging as log
from .r_helper import RedisManager
async def ping():
async with RedisManager() as redis_connect:
if redis_connect:
result = await redis_connect.client.ping()
log.info("Ping - %s", result)
return result
async def set_value(key, value):
async with RedisManager() as redis_connect:
if redis_connect:
await redis_connect.client.set(key, value)
log.info("Set %s = %s", key, value)
async def get_value(key):
async with RedisManager() as redis_connect:
if redis_connect:
value = await redis_connect.client.get(key)
log.info("Get %s = %s", key, value)
return value
async def pop_value(key):
async with RedisManager() as redis_connect:
if redis_connect:
value = await redis_connect.client.getdel(key)
log.info("Get and delete %s = %s", key, value)
return value
async def del_value(key):
async with RedisManager() as redis_connect:
if redis_connect:
value = await redis_connect.client.delete(key)
log.info("Delete %s = %s", key, value)
async def get_all():
async with RedisManager() as redis_connect:
if redis_connect:
all_data = {}
async for key in redis_connect.client.scan_iter():
value = await redis_connect.client.get(key)
all_data[key] = value if value else None
return all_data
async def get_all_keys():
async with RedisManager() as redis_connect:
if redis_connect:
all_keys = []
async for key in redis_connect.client.scan_iter():
all_keys.append(key)
return all_keys