This commit is contained in:
leo
2023-12-31 15:50:28 +08:00
commit d36f0b05ca
11 changed files with 230 additions and 0 deletions

2
app/__init__.py Normal file
View File

@@ -0,0 +1,2 @@
#!/usr/bin/env python3
# -*- coding:utf-8 -*-

2
app/core/__init__.py Normal file
View File

@@ -0,0 +1,2 @@
from .config import settings
from .redis_ import kv_redis_client, redis_client

36
app/core/config.py Normal file
View File

@@ -0,0 +1,36 @@
import os
from loguru import logger
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
BASE_DIR: str = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
VERSION: str | None = None
redis_dsn: str = 'redis://:@localhost:6379/0'
kv_redis_dsn: str = 'redis://:password@localhost:6379/1'
mysql_dsn: str = 'mysql+pymysql://username:password@localhost:3306/data?charset=utf8mb4'
@property
def version(self):
if self.VERSION:
return self.VERSION
if not os.path.exists(os.path.join(self.BASE_DIR, ".version")):
self.VERSION = "0.0.0"
return self.VERSION
with open(os.path.join(self.BASE_DIR, ".version"), "r") as f:
self.VERSION = f.read().strip()
return self.VERSION
PROJECT_NAME: str = 'project_name'
class Config:
case_sensitive = True
settings = Settings()
if __name__ == '__main__':
logger.debug(settings.BASE_DIR)

15
app/core/redis_.py Normal file
View File

@@ -0,0 +1,15 @@
import redis
from loguru import logger
from app.core.config import settings
redis_client = redis.Redis.from_url(settings.redis_dsn)
kv_redis_client = redis.Redis.from_url(settings.kv_redis_dsn)
if __name__ == '__main__':
kv_redis_client.set("name", "leo")
keys = kv_redis_client.keys("*")
logger.debug(keys)
kv_redis_client.delete("name")
keys = kv_redis_client.keys("*")
logger.debug(keys)