v0.7.0

值型別與寫入語意

最後更新

本頁說明 ToriiDB 如何判定儲存值的型別,以及 SetDefault、SetNX、SetXX 寫入時的行為。

值型別

每次寫入都會依下列順序從原始字串偵測型別:

順序 型別 規則 String()
1 TypeJSON 合法 JSON,且去除空白後以 {/[ 開頭、}/] 結尾 json
2 TypeInt strconv.ParseInt(value, 10, 64) 成功 int
3 TypeFloat strconv.ParseFloat(value, 64) 成功 float
4 TypeBool 恰為 true 或 false bool
5 TypeDate RFC 3339 或 2006-01-02 date
6 TypeString 其他 string

"007" 會被判為 int,但它不是合法 JSON number;因此 daemon 在把這類值當成原始 JSON 送出前會再用 json.Valid 檢查。

寫入語意

Flag 行為
SetDefault Upsert
SetNX 鍵已存在時失敗:key already exists
SetXX 鍵不存在時失敗:key not found

覆寫鍵會取代值、型別與 ExpireAt,設定 UpdatedAt,並清除 Vector,因為舊 embedding 已不代表新文字。expireAt 是絕對 Unix 時間戳;REPL 會把結尾的 <seconds> 轉成時間戳。

相關頁面

EN