Redis store key without a value

后端 未结 4 1889
时光取名叫无心
时光取名叫无心 2021-02-06 22:31

When using the Redis expire commands like SETEX and TTL, there are scenarios in which there is no need for the key to hold a v

相关标签:
4条回答
  • 2021-02-06 22:38

    Who said that you should actually store anything in redis key?

    Empty string "" is a perfectly valid value for a redis key, and it's a shortest possible one:

    > SET foo ""
    OK
    > GET foo
    ""
    > BITCOUNT foo
    (integer) 0
    
    0 讨论(0)
  • 2021-02-06 22:40

    I would avoid using "". How about simple 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>
    
    0 讨论(0)
  • 2021-02-06 22:40

    Do you serialize everything coming to and from redis, yourself? If so, you may consider using a sentinel value (like a NONE constant, etc.) which is set to something like 'None'.

    0 讨论(0)
  • 2021-02-06 22:41

    I would store one byte of data that could also be broadly interpreted as "truthy", such as the ASCII character 1.

    0 讨论(0)
提交回复
热议问题