【问题标题】:How to delete from Redis List faster then o(n)如何比 o(n) 更快地从 Redis 列表中删除
【发布时间】:2021-01-29 01:00:53
【问题描述】:

有没有办法比 o(n) 更快地删除 redis 列表中的所有对象? 就像 truncate 在 DB 中的工作方式一样,只需将第一个对象指向 null 或其他东西..

【问题讨论】:

    标签: redis redis-cluster


    【解决方案1】:

    没有。没有办法让删除操作比 O(n) 更快,因为 Redis 必须为每个项目一个接一个地释放资源。

    但是,使用UNLINK 命令,可以让Redis 异步删除列表,这样删除操作就不会阻塞Redis,而是在后台线程中删除列表。查看this问题了解更多信息。

    【讨论】:

    • UNLINK而别人跑UNLINK有什么效果?
    • Redis 是单线程的。这两个 UNLINK 命令将依次运行。如果这两个命令取消链接同一个键,第二个没有效果。如果取消链接两个不同的键,两个键都将排队等待异步删除。
    猜你喜欢
    • 2019-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 2011-09-08
    • 2010-11-11
    • 2021-09-25
    相关资源
    最近更新 更多