java中动态缓存和静态缓存之间的区别

时间:2013-01-05 03:36:55

标签: java caching web

我们正在寻求开发缓存机制,并遇到了动态缓存和静态缓存等术语。 什么是动态缓存和静态缓存?任何人都可以帮助我理解关于java的例子吗?

2 个答案:

答案 0 :(得分:7)

静态缓存和动态缓存是缓存概念,几乎与任何语言无关。 通常有两种查找

未缓存的查找:我们在基表上进行查找,并根据查找条件返回输出值。如果查找条件匹配,则返回Lookup表或缓存中的值。如果不满足查找条件,则返回NULL或默认值。这就是Uncached Lookup的工作原理

缓存查找:只要处理了Lookup中的第一行,Integration Service就会创建一个缓存。创建缓存后,Integration Service始终会查询缓存而不是查找表。这节省了大量时间。

查找缓存可以是不同类型,如动态缓存和静态缓存

  

什么是静态缓存?

  1. 只读:在静态缓存中,Integration Service在处理转换时无法更新或插入缓存。
  2. 静态缓存与缓存查找相同,其中创建缓存后,Integration Service始终查询缓存而不是查找表。
  3. 在查找条件为真时的静态缓存中,它从查找表返回值,否则返回Null或Default值。
  4.   

    什么是动态缓存?

    1. 读/写:在动态缓存中,我们可以在传递行时在缓存中插入或更新行。
    2. Integration Service在查找缓存中动态插入或更新数据,并将数据传递给目标。
    3. 动态缓存与目标同步。

答案 1 :(得分:3)

简而言之,静态缓存是只读缓存,动态缓存是读写。用法示例

静态:在程序启动时,我们将一些参考数据从DB表加载到缓存中一次。现在我们的缓存按键返回数据,而不是向DB发送请求。

动态:我们有员工DAO和缓存。在getStaffById上我们首先查看缓存,如果它返回;否则从DB中读取它将其放入缓存并返回。在删除/更新时,我们在缓存和数据库中删除/更新。