将分布式缓存用于可查询数据集是否可行?

时间:2012-08-21 21:08:49

标签: caching autocomplete appfabric distributed-caching appfabric-cache

我的方案如下。我有一个包含一百万行元组的数据表(比如名字姓氏),还有一个客户端需要检索一小部分行的名字或姓氏以查询字符串开头。缓存这似乎是一个catch-22,因为:

  • 一方面,我不能在每次请求时存储和检索整个数据集(会压倒网络)
  • 另一方面,我不能单独存储每一行​​,因为那时我无法运行查询。
  • 使用本地“索引”或目录存储缓存中的值范围将起作用...除此之外,您必须基本上复制每个索引的数据,这甚至违背了使用分布式缓存的目的

这种方法有什么方法可取?是否有可能获得使用分布式缓存的好处,或者它对这种情况根本不可行?

1 个答案:

答案 0 :(得分:0)

分布式缓存对于可查询的数据集是可行的。

但是对于这种情况,应该有本机函数或过程可以提供更快的结果。如果不能像会话或应用程序那样使用不同的范围,那么在服务器端需要进行大量迭代以获取每个请求的数据。

在服务器端进行索引,然后对数据库进行索引绝不是一个好主意。

如果仍有网络问题。您可以继续使用面向文档或面向列的NoSQL DB。如果可行的话。