【发布时间】:2014-02-27 14:37:14
【问题描述】:
在 Redis 中将数字存储为绝对值与存储为字符串有什么不同吗?
例如,假设存在一个名为news:10:count的集合键,给定以下2条语句,
sadd news:10:count 1200
sadd news:10:count "1200"
它们之间有什么区别吗?
更一般地说,使用引号存储值有区别吗?命令行解释器似乎不需要它们,至少在要添加的值中没有空格的情况下。
【问题讨论】:
在 Redis 中将数字存储为绝对值与存储为字符串有什么不同吗?
例如,假设存在一个名为news:10:count的集合键,给定以下2条语句,
sadd news:10:count 1200
sadd news:10:count "1200"
它们之间有什么区别吗?
更一般地说,使用引号存储值有区别吗?命令行解释器似乎不需要它们,至少在要添加的值中没有空格的情况下。
【问题讨论】:
可以转换为整数(无引号)的值将通过 redis 的 int 编码存储为二进制数据,整数将在内存中花费 [1-8] 字节,这就是 redis 在保存整数数据时内存效率高的原因.
并且 redis-cli 会在您的情况下修剪引号。在redis-cli中发送这两个命令是没有区别的。
【讨论】: