Redis存储密钥没有值

Rie*_*u͢s 28 ttl redis

当使用像&这样的redis expire命令时,有些情况下根本不需要密钥来保存值,因为生存时间就是这样. SETEXPTTL

但是,redis需要任何键都有值.

什么是最合理的价值 - 如果你不想读它?

Leo*_*tny 37

谁说你应该用redis键存储任何东西?

空字符串""是redis键的完全有效值,它是最短的值:

> SET foo ""
OK
> GET foo
""
> BITCOUNT foo
(integer) 0
Run Code Online (Sandbox Code Playgroud)

  • 当使用“MEMORY USAGE [key]”进行检查时,值“0”比空字符串占用的空间更小。[请参阅下面的答案。](/sf/answers/4150487071/) (4认同)

小智 7

我会避免使用"". 简单的0怎么样?

127.0.0.1:6379> set akey 0
OK
127.0.0.1:6379> memory usage akey
(integer) 48
127.0.0.1:6379> set akey ""
OK
127.0.0.1:6379> memory usage akey
(integer) 50
127.0.0.1:6379>
Run Code Online (Sandbox Code Playgroud)

  • “0”更有可能成为_有用_值,而“””`本质上已经意味着空或什么都没有。当有可能(或将来有可能)处理整数值时,`""` 会更好。 (2认同)

pla*_*rms 5

我会存储一个字节的数据,这些数据也可以被广泛地解释为“真实”,例如 ASCII 字符1