代码之家  ›  专栏  ›  技术社区  ›  user1008636

redis是否在其数据库(持久数据)中搜索过密钥?

  •  0
  • user1008636  · 技术社区  · 6 年前

    我知道redis可以持久化数据,但在操作过程中,当您在redis服务器上查找一个密钥时,它是否需要在持久化数据(文件)中查找该密钥,或者只在内存缓存中查找该密钥?如果在缓存中找不到密钥,它会自动尝试在磁盘上查找它吗?它如何处理缓存太大的问题,如果它将缓存写入内存,那么它是否会清除缓存?

    2 回复  |  直到 6 年前
        1
  •  1
  •   for_stack    6 年前

    redis是内存中的数据存储。它只能保存可装入内存的数据集。内存中的数据不是缓存,而是整个数据集。redis可以在磁盘上保存数据。但是,磁盘数据用于恢复,而不是搜索。见 doc 详细情况。

    它是否需要在持久化数据(文件)中查找该键,或者只在内存缓存中查找该键?

    不。它从不在持久化数据中查找密钥。

    如果在缓存中找不到密钥,它会自动尝试在磁盘上查找它吗?

    不。

    它如何处理缓存太大的问题,如果它将缓存写入内存,那么它是否会清除缓存?

    您可以将策略配置为在内存不足时收回密钥。见 doc 详细情况。

        2
  •  2
  •   Itamar Haber    6 年前

    redis中的所有键都在内存中。保存到磁盘的数据是 只有 出于恢复目的,在引导期间访问。