这是一个常规缓存问题,无论后面使用的代码如何,但对于我使用Ehcache for Java的记录。
在经典情况下,系统必须从数据库加载动态元素列表(因此查询基于某些条件),是否有任何已知的技巧可以通过利用缓存系统来提高加载性能。
我的猜测是加载一个ID列表而不是一个元素列表,然后分别获取它们中的每一个,这样我们就可以利用实体的缓存。
感谢您的帮助。
PS:我希望这个问题足够清楚。欢迎提出任何建议。答案 0 :(得分:0)
通用答案是:"这完全取决于"。
所以,是的,如果您希望通过ID缓存实体,则加载ID列表然后获取缓存可能会更快。但是,你需要确定它。因为否则,一个接一个的实体非常慢。
但是,只需从DB查询也可以很快。如果它不会发生太多。优化DB到Java映射也可以提高性能。
其他一些技巧包括只检索您需要的数据。不是整个实体。我通常从那开始。
正如我所说,这取决于。