fix reddis to redis

This commit is contained in:
sergey 2024-10-08 22:29:50 +03:00
parent eca4cddf59
commit 2ef7828fb0
7 changed files with 57 additions and 32 deletions

View File

@ -9,8 +9,8 @@ OAA_CFG__TOKEN__USER=A3mojtenQqYwJAgrSiiFaVHX6fRoVW15
OAA_CFG__ADMIN_USER__LOGIN=admin
OAA_CFG__ADMIN_USER__PWD=P@ssw0rd!
OAA_CFG__REDDIS__HOST=localhost
OAA_CFG__REDDIS__PORT=6379
OAA_CFG__REDDIS__DB=0
OAA_CFG__REDDIS__LOGIN=admin
OAA_CFG__REDDIS__PWD=P@ssw0rd!
OAA_CFG__REDIS__HOST=localhost
OAA_CFG__REDIS__PORT=6379
OAA_CFG__REDIS__DB=0
OAA_CFG__REDIS__LOGIN=admin
OAA_CFG__REDIS__PWD=P@ssw0rd!

View File

@ -44,7 +44,7 @@ class AdminUser(BaseModel):
pwd: str
class ReddisConfig(BaseModel):
class RedisConfig(BaseModel):
host: str = "localhost"
port: int = 6379
db: int = 0
@ -77,7 +77,7 @@ class Settings(BaseSettings):
prefix: PrefixConfig = PrefixConfig()
token: TokenConfig
admin_user: AdminUser
reddis: ReddisConfig
redis: RedisConfig
conf = Settings()

View File

@ -0,0 +1,15 @@
version: '3.3'
services:
redis:
image: redis:latest
restart: always
ports:
- "6379:6379"
volumes:
- ./local_redis_file/dаta:/root/redis_db
- ./local_redis_file/redis_db.conf:/usr/local/etc/redis_db/redis_db.conf
environment:
- REDIS_PASSWORD=my-password
- REDIS_PORT=6379
- REDIS_DATABASES=16

View File

@ -1,25 +0,0 @@
from redis.asyncio import Redis
from config import conf
class RedisClient:
async def __aenter__(self):
self.client = Redis(
host=conf.reddis.host,
port=conf.reddis.port,
db=conf.reddis.db,
username=conf.reddis.login,
password=conf.reddis.pwd,
)
return self.client
async def __aexit__(self, exc_type, exc_val, exc_tb):
await self.client.close()
async def set_value(self, key, value):
async with self as client:
await client.set(key, value)
async def get_value(self, key):
async with self as client:
return await client.get(key)

35
redis_db/r_helper.py Normal file
View File

@ -0,0 +1,35 @@
from redis.asyncio import Redis
from config import conf
import logging as log
class RedisClient:
log.info("Connecting to redis_db. %s:%s", conf.redis.host, conf.redis.port)
connection_params = {
"host": conf.redis.host,
"port": conf.redis.port,
}
if conf.redis.login and conf.redis.pwd:
connection_params["username"] = conf.redis.login
connection_params["password"] = conf.redis.pwd
if conf.redis.db:
connection_params["db"] = conf.redis.db
async def __aenter__(self):
self.client = Redis(**self.connection_params)
log.info("Create client")
return self.client
async def __aexit__(self, exc_type, exc_val, exc_tb):
log.info("Close client")
await self.client.close()
async def set_value(self, key, value):
async with self as client:
await client.set(key, value)
log.info("Set %s = %s", key, value)
async def get_value(self, key):
async with self as client:
log.info("Get %s", key)
return await client.get(key)