在 DB 和 redis 缓存之间同步数据的最佳策略是什么

Chi*_*i_V 3 architecture caching web-applications redis

我们正在使用 Oracle 数据库,我们想使用 Redis 缓存机制,我们将一些数据库数据的子集添加到缓存中,当数据库中的数据发生变化时,它是否自动与数据库同步,或者我们将不得不实施同步策略,如果是,最好的方法是什么。

Mat*_*zer 5

当数据库中的数据发生变化时,它是否自动与数据库同步

不,它没有。

我们将不得不实施同步策略,如果是,那么最好的方法是什么。

这将取决于您的具体情况。通常缓存以两种常见方式同步:

  1. 缓存的数据过期。一旦缓存数据过期,后台进程就会向缓存添加新数据,依此类推。通常有数据会以不同的时间间隔刷新:10 分钟、1 小时、每天……

  2. 数据按需缓存。当用户请求一些数据时,该请求会经过非缓存的路径,该请求将结果存储在缓存中,如果缓存可用,则有限数量的后续请求将直接读取缓存的数据。在缓存失效间隔方面,这种方法也可以归为#1。

现在我相信您有足够的细节来思考在您的特定情况下什么可能是您的最佳策略!