命令列參考
本頁整理 Store.Exec 與內附 REPL 接受的所有指令。
指令總覽
| 指令 | 語法 | 用途 |
|---|---|---|
GET |
GET <key> |
讀取 key 或 dotted JSON field |
SET |
SET <key> <value> [NX|XX] [seconds] [VECTOR] |
寫入 value,並可指定條件、TTL 與 embedding |
EXIST |
EXIST <key> |
檢查 key 或 field 是否存在 |
TYPE |
TYPE <key> |
回傳偵測到的 value type |
DEL |
DEL <key> [key2] ... |
刪除 key 或單一 dotted field |
INCR |
INCR <key> [delta] |
遞增數值 key 或 field |
TTL |
TTL <key> |
回傳剩餘 lifetime |
EXPIRE |
EXPIRE <key> <seconds> |
設定相對過期時間 |
EXPIREAT |
EXPIREAT <key> <timestamp> |
設定絕對 Unix 過期時間 |
PERSIST |
PERSIST <key> |
移除過期時間 |
KEYS |
KEYS <pattern> |
列出符合 glob 的 key |
FIND |
FIND <op> <value> [LIMIT <n>] |
比較完整 stored value |
QUERY |
QUERY <expression> [LIMIT <n>] |
篩選 JSON document |
VSEARCH |
VSEARCH <text> [MATCH <pattern>] [LIMIT <n>] |
搜尋已向量化 key |
VSIM |
VSIM <key1> <key2> |
計算 vector similarity |
VGET |
VGET <key> |
回傳 stored vector |
SELECT |
SELECT <db> |
切換 0 到 15 的目前資料庫 |
Key 與 Field 指令
GET
GET <key>
Dotted key 會讀取巢狀 JSON field。Key 或 field 不存在時回傳 (nil)。
SET
SET <key> <value> [NX|XX] [seconds] [VECTOR]
NX 要求頂層 key 不存在;XX 要求 key 已存在。尾端正整數會設定秒數 TTL。VECTOR 僅支援頂層寫入,並啟動非同步 embedding attachment。
指令移除辨識到的尾端 option 後,會以空白連接其餘 value token。
EXIST 與 TYPE
EXIST <key>
TYPE <key>
EXIST 回傳 (integer) 1 或 (integer) 0。TYPE 回傳 json、string、int、float、bool、date 或 (nil)。
DEL
DEL <key> [key2] ...
單一 dotted key 會刪除 JSON field 並回傳 OK;其他形式刪除頂層 key,回傳刪除數量。
INCR
INCR <key> [delta]
預設 delta 為 1。目標必須已是數值;點記法可遞增 JSON numeric field。
過期指令
TTL <key>
EXPIRE <key> <seconds>
EXPIREAT <key> <timestamp>
PERSIST <key>
Key 無過期時間時,TTL 回傳 (integer) -1;key 不存在或已過期時回傳 (nil)。成功修改過期設定時回傳 OK,無效或不存在的目標則依指令路徑回傳 error 或 (nil)。
掃描與查詢指令
KEYS
KEYS <pattern>
使用 Go path.Match 比對頂層 key,結果依字典順序排列。
FIND
FIND <op> <value> [LIMIT <n>]
運算子:eq、ne、gt、gte/ge、lt、lte/le 與 like。結果由新到舊排序。
QUERY
QUERY <expression> [LIMIT <n>]
支援 JSON field condition、AND、OR、NOT 與括號。比較別名包括 =、!=、>、>=、< 與 <=。
回傳 list 的指令會產生 1) key 等編號行;無結果時回傳 (empty list)。
向量指令
VSEARCH
VSEARCH <text> [MATCH <pattern>] [LIMIT <n>]
MATCH 與 LIMIT 可用任一順序放在尾端。預設 limit 為 10。此指令需要已初始化 embedder。
VSIM
VSIM <key1> <key2>
回傳 (float) <score>;缺少 vector 時回傳 (nil);dimension 不符時回報 error。
VGET
VGET <key>
以 JSON array 回傳 embedding;無資料時回傳 (nil)。
資料庫切換
SELECT <db>
Index 必須是 0 到 15 的 integer。選擇狀態只屬於目前 Store 或 Session handle。
REPL 控制
內附 client 會在本地處理 quit 與 exit,它們不是 Exec 指令。空白行會被忽略;收到 SIGINT 或 SIGTERM 時會先關閉 store。