Redis如何存储数字而不是字符串

时间:2016-06-21 19:27:45

标签: javascript redis

我正在尝试将数字存储为Redis键中的值。例如,我想存储一个值为4.我不希望它存储为" 4"。为什么我需要这个?因为当我重新检索这个值时,我会对它进行一些按位操作。如果它存储为" 4" (而不是4),实际存储在Redis中的值似乎是52(即... 00110100而不是00000100)。

您可能想知道,为什么我不使用Redis bitops。原因是我必须存储许多位的数组。我不想在循环中做redis bitops。我只想在本地创建一个等效数组并通过调用set命令上传它。

在Javascript中,我尝试了

redis.set(key, 4)
显然它没有用。然后我试了

redis.set(key, "\x04")

这很有效。但是如何通过转换为这种格式来存储一个字节数组?我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

在内部,如果数据类型的所有值都是数字,则数据以其数字表示形式存储。否则,数据将存储为字符串。据我所知,你不能强迫Redis对单个数据点使用特定的表示方法,反正 - 你总是将值作为字符串获取。您需要自己解析值并将其转换为整数,浮点数等。