When using the redis expire commands like SETEXP & TTL, there are scenarios in which there is no need for the key to hold a value at all, because the time to live acts as such.
However, redis requires any key to have a value.
What would be the most reasonable value to use - if you don't ever want to read it?
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
I would store one byte of data that could also be broadly interpreted as "truthy", such as the ASCII character 1.
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'.
来源:https://stackoverflow.com/questions/25557250/redis-store-key-without-a-value