1

我要求在 1 秒内获取数据库表的搜索查询结果。此时数据库表正在缓慢返回结果。必须将表移动到缓存并从那里搜索,以便搜索结果快速出现。我想在我现有的搜索页面上进行谷歌类型页面刷新——这意味着页面应该在用户键入时刷新。
为了实现这一点,搜索结果应该在一秒钟内返回。我的数据库是 teradata。它的查询至少需要 2 到 3 秒。因此我想寻找其他选项,比如缓存。我想使用缓存以便结果快来。

列是
company , Id , Industry, parent ...4 more
它是一个搜索页面。所以如果用户输入“ja”所有从 ja 开始的项目

公司 ------------- ID ------------- 行业 --------------父
jaico ----- -------- 222 -------------油漆 ------------- Jaico asia
Jammy fruits---------- --- 232-------------food-------------- jammy International

该表包含 320 万行,存在 8 列。搜索数据需要返回所有 8 列。按字节计算,每行有 150 个字符。所以总字节数为 320 万 * 150 个字符 = 480 兆字节。我需要将这么多数据存储在缓存中,然后在它们之间触发搜索查询(如 sql(分组、排序、排序))。在这种情况下,最好的选择是什么

  1. ehcache
  2. jboss缓存
  3. 尼菲尼斯潘
  4. Apache Lucene

请建议哪个选项好。在内存中进行缓存还是使用 lucene 更好?
什么需要缓存?-->是一张320万行8列的表。
为什么要缓存它?-->要缓存它,以便搜索结果比 sql 查询更快。如果我使用 sql 查询需要很长时间。因此我想转向缓存数据。

4

1 回答 1

2

看看 Apache Solr——你可以通过正确的部署获得这种性能。一方面,您可以分片来分发查询。

于 2012-04-05T17:56:08.230 回答