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",
]