2016-06-21 361 views
1

我試圖在Redis鍵中存儲一個數值作爲值。例如,我想存儲一個值4.我不希望它被存儲爲「4」。爲什麼我需要這個?因爲當我檢索這個值時,我會對它進行一些按位操作。如果它存儲爲「4」(而不是4),則實際存儲在Redis中的值似乎爲52(即... 00110100而不是00000100)。Redis如何存儲一個數字而不是字符串

您可能會問,爲什麼我不使用Redis bithop。原因是我必須存儲許多位的數組。我不想在循環中做redis bithop。我只是想在本地創建一個等效數組並通過調用set命令來上傳它。

在Javascript中,我試圖做

redis.set(key, 4) 

顯然沒有奏效。然後我試了

redis.set(key, "\x04") 

這個工程。但是,如何通過轉換爲這種格式來存儲字節數組?我在這裏錯過了什麼?

回答

1

從內部來看,如果數據類型的所有值都是數值型的,那麼數據就以其數字表示形式存儲。否則,數據以字符串形式存儲。據我所知,你不能強迫Redis爲單個數據點使用一種特定的表示方法,反正你總能得到一個字符串的值。你需要自己解析這個值並將其轉換爲一個整數,浮點數等。

相關問題