【发布时间】:2012-10-25 09:34:38
【问题描述】:
我们正在开发一个搜索引擎网络应用程序,使用户能够搜索大约 200 个门户的内容。
我们的业务合作伙伴正在负责维护和提供 solr/lucene 实例,该实例正在执行索引数据的主要工作。
我们的应用程序查询 solr 并以人性化的方式呈现结果。但是,我们想知道如何限制查询的数量,或许可以使用某种形式的缓存。结果可能会被缓存几个小时。
我们想知道的是:什么是缓存查询结果的好策略?显然,我们希望方法调用会有很大的不同……做缓存有意义吗?
是否有一些缓存系统特别适合这个用例?我们正在使用 Spring 3 进行开发。
【问题讨论】:
-
嗯,这不是我的主要领域,但缓存后我们的性能有了显着提高。我们每 6 到 12 小时缓存一次,实际上我们使用 memcached 来处理它。随着时间的推移,您的缓存索引可能会变得非常大,但是通过一些保留策略(即,缓存中的某个页面在一周内没有命中 --> 删除),您应该能够控制一切
标签: spring caching solr search-engine strategy-pattern