Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Redis如何存储数字而不是字符串_Javascript_Redis - Fatal编程技术网

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

Javascript Redis如何存储数字而不是字符串,javascript,redis,Javascript,Redis,我试图将一个数字作为值存储在Redis key中。例如,我想存储一个值4。我不希望它被存储为“4”。为什么我需要这个?因为当我检索回这个值时,我将对它进行一些位运算。如果它存储为“4”(而不是4),那么在Redis中实际存储的值似乎是52(即…00110100而不是00000100) 你可能会想,为什么我不使用Redis bitops。原因是我必须存储许多位的数组。我不想在循环中做redis bitops。我只想在本地创建一个等效数组,并通过调用set命令上传它 在Javascript中,我尝试

我试图将一个数字作为值存储在Redis key中。例如,我想存储一个值4。我不希望它被存储为“4”。为什么我需要这个?因为当我检索回这个值时,我将对它进行一些位运算。如果它存储为“4”(而不是4),那么在Redis中实际存储的值似乎是52(即…00110100而不是00000100)

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

在Javascript中,我尝试

redis.set(key, 4)
很明显,它不起作用。然后我试着

redis.set(key, "\x04")

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

在内部,如果一个数据类型的所有值都是数字,那么数据将以数字表示形式存储。否则,数据将存储为字符串。据我所知,您不能强制Redis对单个数据点使用特定的表示方法,而且无论如何,您将始终以字符串的形式获取值。您需要自己解析该值,并将其转换为整数、浮点等