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

redis是否在其数据库(持久化数据)中搜索过密钥?,redis,Redis,我知道redis可以持久化数据,但在操作过程中,当您在redis服务器上查找密钥时,它是否需要在持久化数据(文件)中查找该密钥,还是只在内存缓存中查找该密钥?如果在缓存中找不到密钥,它会自动尝试在磁盘上查找吗?它是如何处理缓存太大的问题的?如果它将缓存写入内存,它是否会清除缓存?Redis是内存中的数据存储。它只能保存可以放入内存的数据集。内存中的数据不是缓存,而是整个数据集。Redis可以在磁盘上保存数据。但是,磁盘数据用于恢复,而不是搜索。有关详细信息,请参阅 它是否需要在持久化数据(文件)

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

Redis是内存中的数据存储。它只能保存可以放入内存的数据集。内存中的数据不是缓存,而是整个数据集。Redis可以在磁盘上保存数据。但是,磁盘数据用于恢复,而不是搜索。有关详细信息,请参阅

它是否需要在持久化数据(文件)中查找该密钥,还是只在内存缓存中查找

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

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

没有

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


您可以将策略配置为在内存不足时收回密钥。有关详细信息,请参阅。Redis是内存中的数据存储。它只能保存可以放入内存的数据集。内存中的数据不是缓存,而是整个数据集。Redis可以在磁盘上保存数据。但是,磁盘数据用于恢复,而不是搜索。有关详细信息,请参阅

它是否需要在持久化数据(文件)中查找该密钥,还是只在内存缓存中查找

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

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

没有

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


您可以将策略配置为在内存不足时收回密钥。有关详细信息,请参阅。

Redis中的所有键始终位于内存中。只有在引导过程中,出于恢复目的,才会访问保存到磁盘的数据。

Redis中的所有密钥始终位于内存中。保存到磁盘的数据仅在引导过程中出于恢复目的被访问。

这意味着它实际上不是一个数据库,是吗?它只能保存在内存中。但是,如果我有越来越多的键/值对,并且我需要所有的键/值对都被持久化,我就不能使用Redis,因为它最终将开始拒绝缓存中的键,以将所有的键都保留在内存中。在这种情况下,我必须使用redis后面的另一个db进行存储,并在我的应用程序级别写入该db和redis,就像传统的缓存一样?如果您的数据集太大,无法装入一台机器的内存,您也可以使用
redis Cluster
将这些数据存储在多台机器中。否则,正如您所说,您可以使用其他数据库作为主数据库,并使用Redis作为LRU缓存。这意味着它实际上不是一个数据库,是吗?它只能保存在内存中。但是,如果我有越来越多的键/值对,并且我需要所有的键/值对都被持久化,我就不能使用Redis,因为它最终将开始拒绝缓存中的键,以将所有的键都保留在内存中。在这种情况下,我必须使用redis后面的另一个db进行存储,并在我的应用程序级别写入该db和redis,就像传统的缓存一样?如果您的数据集太大,无法装入一台机器的内存,您也可以使用
redis Cluster
将这些数据存储在多台机器中。否则,正如您所说,您可以使用其他数据库作为主数据库,并使用Redis作为LRU缓存。