我删除了带有ZREM
的元素,但是元素通常不是有序集的成员。
我应该先用ZSCORE检查元素是否已经设置,然后继续使用ZREM,因为前者是O(1)
,因此总体上更快?
答案 0 :(得分:2)
NO。它会使您的代码更复杂,并且可能会更慢。
与网络RTT(以毫秒为单位)相比,这两个命令运行速度非常快(以微秒为单位)。您几乎可以忽略命令处理时间。
此外,如果元素存在,则必须发送2个命令,并获得双重RTT。这比仅发送1个命令要慢得多。
是的,您可以将逻辑包装到Lua
脚本中以避免额外的RTT。但是,这使它变得更加复杂。同时在Lua
和C
之间交换值可能比命令处理时间花费更多。