【发布时间】:2020-11-16 00:40:15
【问题描述】:
如果我使用 redis 检查历史上是否处理过或当前正在处理唯一消息(以防止 Pub/Sub 重复消息处理),并且我不希望再次阅读此 kv 对,我应该打扰删除消息处理程序末尾的 kv 对,还是让 LRU eviction 最终删除它?消息的处理将比重复消息之间的延迟时间长得多。
对于上下文,这是处理过程的一些 JS 伪代码:
// Message comes in
const messageHandler = (message) => {
const duplicate = checkMessageInRedis(message.ID)
if (duplicate) return
registerMessageInRedis(message.ID)
// ... do some stuff to the message
deleteMessageInRedis(message.ID) // DO I BOTHER WITH THIS??? OR LET EVICTION DELETE IT?
}
我想问题变成了:驱逐删除是否比 DEL 事务更占用资源?如果是的话,是多少?
【问题讨论】: