有什么办法可以使用StackExchange.Redis客户端在Redis中存储空值?我可以使用StackExchange.Redis在Redis中存储空值吗?
如果您使用IDatabase.StringGet(key)
则返回空值用于表示“没有结果”。因此,如果您使用IDatabase.StringSet(key, null)
那么结果是你不知道是否有空值值或没有值!
是否有任何机制为此提供服务? - 即你想缓存一个负数。
我更希望避免任何令人讨厌的哨兵值(如value ?? new byte[] {1}
),如果值发生匹配,可能会引发问题!
我看了一下RedisValue.Null
,但这只是产生了一个与上面相同的问题。
你的用例是什么?为什么你想在一个密钥上存储null? – zendu
我的缓存层减少了对数据库的调用。有些时候,我没有从我的数据库中获得结果,所以我想缓存该结果,以便下次调用仅访问缓存(结果为“数据为空”)。目前,空响应表明缓存没有结果,因此我最终转到数据库,然后获取“无”结果。 – OffHeGoes