Redis如何RPUSH/LPUSH一个空的lis

2024-09-28 17:22:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我们想r按/l按一个空列表的键。
这是出于一致性的原因:当使用LRANGE而不是列表是否为空来读取键时,其余代码的行为都相同。

为什么一个键有一个空列表,它会被删除是一个问题?
因为我们将Redis用作缓存,并希望区分两种情况:
1尚未缓存具有相应值的特定键。在这种情况下,我们需要计算值(需要很长时间)并缓存它们。计算结果可能为空列表。
2已缓存具有空列表的键。在这种情况下,我们不想执行计算并返回空列表。

以下选项无效:

1rpush键-->;没有列表值,结果是“参数数目错误”。
2rpush键[]-->;添加“[]”项

我们当前使用的(丑陋的)解决方案是存储一个带有“空项”项的单项列表,并在读取该列表时进行检查。在

有什么想法吗?在

谢谢你


Tags: 代码gtredis列表参数选项错误情况