我正在尝试将数字存储为 Redis 键中的值。例如,我想存储值 4,但不希望将其存储为“4”。为什么我需要这个?因为当我取回这个值时,我将对其进行一些按位运算。如果它存储为“4”(而不是4),那么实际存储在Redis中的值似乎是52(即...... 00110100而不是00000100)。
您可能想知道,为什么我不使用 Redis bitops。原因是我必须存储一个由许多位组成的数组。我不想在循环中执行 redis bitops。我只想在本地创建一个等效的数组并通过调用 set 命令上传它。
在Javascript中,我尝试做
redis.set(key, 4)
Run Code Online (Sandbox Code Playgroud)
显然它不起作用。然后我尝试了
redis.set(key, "\x04")
Run Code Online (Sandbox Code Playgroud)
这有效。但是如何通过转换为这种格式来存储字节数组呢?我在这里缺少什么?
在内部,如果数据类型的所有值都是数字,则数据按其数字表示形式存储。否则,数据将存储为字符串。据我所知,你不能强迫 Redis 对单个数据点使用特定的表示方法,而且无论如何 - 你总是会得到字符串形式的值。您需要自己解析该值并将其转换为整数、浮点数等。
| 归档时间: |
|
| 查看次数: |
6922 次 |
| 最近记录: |