无效(刷新)任何缓存的合理时间间隔是多少?

时间:2017-09-28 12:24:58

标签: postgresql caching ehcache cache-invalidation

我们决定使用缓存(不决定特定缓存),但今天我们知道我们需要通过连接到数据存储区来使缓存数据无效或每2分钟刷新一次缓存数据,但我认为2分钟是不可行,因为如果你每2分钟继续刷新缓存数据,那么最好连接到数据存储本身,所以任何人都可以建议什么是可行的时间间隔,我们可以设置为无效的旧日期缓存并使用数据存储中的数据刷新缓存?

注意:我们正在使用spring boot,postgres

1 个答案:

答案 0 :(得分:0)

我觉得你对缓存有点困惑。如果将操作的结果缓存(假设 X )两分钟,则意味着在不到两分钟内重复操作的每个人都将 X 作为结果,两分钟后缓存失效,并在下次请求操作时再次存储,因此如果没有人执行操作两小时,它将在两小时后刷新。

项目应存在于缓存中的时间取决于很多因素,无法为所有情况计算绝对可行值。

  • 缓存操作的执行率是多少?
  • 操作结果是否快速变化?你在缓存每天都有变化的东西吗?每小时?
  • 对于那些获得缓存结果的人来说,获得旧版本的结果,可以使用它的年龄是否可以接受?

我告诉你这句话(这是这个主题必须的):

"There are only two hard problems in Computer Science: 
cache invalidation and naming things."

-- Phil Karlton