Add Redis-backed cache backend with env switch
This commit is contained in:
@@ -31,6 +31,7 @@
|
||||
- 站台角色指派(`PUT /admin/sites/{site_key}/roles`、`PUT /admin/roles/{role_key}/sites`)會即時同步到 Keycloak Group Role Mapping。
|
||||
- 使用者加入 Site 時,透過同步邏輯使其在 IdP 端取得對應角色能力。
|
||||
- 讀取效能:後端採用 memory cache(後續可換 Redis),`GET` 先讀快取;`POST/PUT/PATCH/DELETE` 成功後自動失效快取。
|
||||
- 快取後端可由 `.env` 切換:`CACHE_BACKEND=memory|redis`(無需改程式)。
|
||||
|
||||
## 後台安全線
|
||||
- `/admin/*` 必須 Bearer token。
|
||||
|
||||
@@ -24,3 +24,4 @@
|
||||
- [x] Role CRUD 同步 Provider Client Role(新增/修改/刪除會同步到 Provider)。
|
||||
- [x] Site/Role 關聯指派同步 Keycloak Group Role Mapping(雙向指派入口皆同步)。
|
||||
- [x] 後端讀取快取(memory)與 CUD 自動失效機制(可後續切 Redis)。
|
||||
- [x] 快取後端抽象完成:`.env` 可切換 `memory` / `redis`。
|
||||
|
||||
@@ -52,6 +52,19 @@ npm run dev
|
||||
- `KEYCLOAK_ADMIN_CLIENT_ID`
|
||||
- `KEYCLOAK_ADMIN_CLIENT_SECRET`
|
||||
- `ADMIN_REQUIRED_GROUPS`
|
||||
- `CACHE_BACKEND`(`memory` 或 `redis`)
|
||||
- `CACHE_REDIS_URL`
|
||||
- `CACHE_PREFIX`
|
||||
- `CACHE_DEFAULT_TTL_SECONDS`
|
||||
|
||||
### Cache 切換範例
|
||||
- 本地(預設):
|
||||
- `CACHE_BACKEND=memory`
|
||||
- 切 Redis:
|
||||
- `CACHE_BACKEND=redis`
|
||||
- `CACHE_REDIS_URL=redis://127.0.0.1:6379/0`
|
||||
|
||||
調整後重啟後端生效。
|
||||
|
||||
## 5) 基本檢查
|
||||
1. `GET http://127.0.0.1:8000/healthz` 應為 200。
|
||||
|
||||
Reference in New Issue
Block a user