我正在使用redis缓存来存储要缓存的数据。要存储为密钥的数据类型是数字类型。该值由redis自动强制转换为字符串类型。
127.0.0.1:6379> sismember def 34
(integer) 1
127.0.0.1:6379> sismember def 34.
(integer) 0
127.0.0.1:6379> sismember def 34.0
(integer) 0
127.0.0.1:6379> sismember def 3.4
(integer) 1
127.0.0.1:6379> smembers def 34.0
(error) ERR wrong number of arguments for 'smembers' command
127.0.0.1:6379> sadd def 34.0
(integer) 1
127.0.0.1:6379> smembers def
1) "34"
2) "34.0"
3) "3.4"
我知道这个与我提出的问题有关的问题已经在Difference between storing Integers and Strings in Redis被问到,但它并没有得到满意的答案。
所以,我的问题是,redis不支持将整数存储为关键,尽管它们是不可变的吗?现在是否有任何性能/架构原因允许非str不可变值作为redis中的键。
提前致谢。