Spaces:
Running
Running
File size: 2,900 Bytes
3f0377e 801ae57 3f0377e 801ae57 3f0377e 801ae57 3f0377e 3fd16d8 801ae57 3fd16d8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
"""
數據庫模組 - 整合 Firestore 操作、緩存、優化策略
結構:
- base.py: 基礎 Firestore 操作(用戶、對話、消息、記憶)
- cache.py: LRU 緩存實現(多級緩存、寫入緩衝)
- optimized.py: 優化版數據庫操作(帶緩存、請求合併、批量寫入)
使用建議:
- 高頻讀取操作:使用 optimized 版本(get_user_by_id, get_chat, get_user_chats)
- 寫入操作:使用 base 版本(create_chat, update_chat_title, delete_chat)
- 緩存管理:使用 cache.db_cache
"""
# 從 base 導入基礎設施
from .base import (
connect_to_firestore,
firestore_db,
users_collection,
chats_collection,
messages_collection,
memories_collection,
ensure_indexes,
)
# 從 base 導入基礎操作(未優化)
from .base import (
create_chat,
save_message,
get_chat_messages,
update_chat_title,
delete_chat,
set_chat_emotion,
get_chat_emotion,
set_user_speaker_label,
get_user_by_speaker_label,
save_memory,
search_memories,
update_memory_importance,
delete_memory,
cleanup_old_memories,
get_user_history,
create_or_login_google_user,
# 環境 Context
set_user_env_current,
add_user_env_snapshot,
get_user_env_current,
# 地理/路線快取
get_geo_cache,
set_geo_cache,
get_route_cache,
set_route_cache,
)
# 從 optimized 導入優化版操作(帶緩存)
from .optimized import (
get_user_by_id,
get_user_chats,
get_chat,
save_chat_message,
get_user_memories,
batch_writer,
query_optimizer,
)
# 從 cache 導入緩存管理
from .cache import db_cache, periodic_cache_maintenance
__all__ = [
# 基礎設施
"connect_to_firestore",
"firestore_db",
"users_collection",
"chats_collection",
"messages_collection",
"memories_collection",
"ensure_indexes",
# 用戶操作
"get_user_by_id", # 優化版
"create_or_login_google_user",
"set_user_speaker_label",
"get_user_by_speaker_label",
# 對話操作
"create_chat",
"get_chat", # 優化版
"get_user_chats", # 優化版
"save_chat_message", # 優化版
"get_chat_messages",
"update_chat_title",
"delete_chat",
"set_chat_emotion",
"get_chat_emotion",
# 消息操作
"save_message",
"get_user_history",
# 記憶操作
"save_memory",
"get_user_memories", # 優化版
"search_memories",
"update_memory_importance",
"delete_memory",
"cleanup_old_memories",
# 優化工具
"batch_writer",
"query_optimizer",
"db_cache",
"periodic_cache_maintenance",
# 環境 Context
"set_user_env_current",
"add_user_env_snapshot",
"get_user_env_current",
# 地理/路線快取
"get_geo_cache",
"set_geo_cache",
"get_route_cache",
"set_route_cache",
]
|