【问题标题】:Redis use keys query keys,CPU run high more than 20%, I only use single redisRedis使用keys查询keys,CPU跑高超过20%,我只用单redis
【发布时间】:2018-03-06 14:24:05
【问题描述】:

我在我的应用程序中使用单个 redis, 我通过 Spring MVC 为我的背景服务器连接 redis。 我使用 XXXX* 之类的命令键来查询 Redis DB 中的键。 我的 Redis 数据库只有 20000 条记录。 我发现 CPU 运行超过 20% 并且查询延迟了 1000 毫秒。 我该如何处理这个问题?

【问题讨论】:

    标签: spring-mvc redis key


    【解决方案1】:

    Redis 是单线程的。 KEYS 命令迭代所有键以匹配给定模式,这需要大量时间,尤其是当数据库中的键太多时。

    与此同时,Redis 被阻塞,无法处理任何新请求。因此,您的新查询将延迟到 KEYS 命令完成。

    解决方案

    KEYS 命令替换为SCAN 命令,并增量迭代数据库中的键。

    【讨论】:

    • 谢谢。让我试试。
    猜你喜欢
    • 1970-01-01
    • 2019-11-25
    • 2018-10-08
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    相关资源
    最近更新 更多