我们想r按/l按一个空列表的键。
这是出于一致性的原因:当使用LRANGE而不是列表是否为空来读取键时,其余代码的行为都相同。
为什么一个键有一个空列表,它会被删除是一个问题?
因为我们将Redis用作缓存,并希望区分两种情况:
1尚未缓存具有相应值的特定键。在这种情况下,我们需要计算值(需要很长时间)并缓存它们。计算结果可能为空列表。
2已缓存具有空列表的键。在这种情况下,我们不想执行计算并返回空列表。
以下选项无效:
1rpush键-->;没有列表值,结果是“参数数目错误”。
2rpush键[]-->;添加“[]”项
我们当前使用的(丑陋的)解决方案是存储一个带有“空项”项的单项列表,并在读取该列表时进行检查。在
有什么想法吗?在
谢谢你
Redis中不存在空列表-列表必须有一个或多个项。空列表(例如弹出非空列表的结果)将自动删除。在
相关问题 更多 >
编程相关推荐