大家好,
我是 L2 缓存世界的新手,所以请放轻松:)。我有几个问题:
1) EhCache 与 JPA 2.0 L2 缓存有什么区别?
据我了解,EhCache 是分布式的(也可以是独立的),而 JPA 2.0 L2 缓存不是(每个 JVM)。
2) 缓存策略
请分享您的缓存 101 策略。如何缓存收藏(问题和提示)?如何在缓存池中搜索对象(如果您知道正在缓存它)。
3)缓存和存储过程
假设数据库在其之上支持 2 个不同的应用程序。当一个应用程序通过存储过程更新数据而另一个(缓存)读取它时,如何解决更新问题?对读者来说,就好像没有更新一样。
我听说某些大型网站会缓存所有内容。这是否意味着他们在缓存库和 JPA / ORM 之上编写了自己的数据访问层?
PS:我知道黄金法则是尽早避免缓存,或者更好地增加硬件能力。我问这个问题是为了学习。我也不是要求一个特定的场景,而是更多的一般规则,一般场景,最小公分母,它不必解决每个人的问题。
谢谢!