我的情况如下。我有一个包含一百万行元组(例如名字和姓氏)的数据表,以及一个需要检索其名字或姓氏以查询字符串开头的行的子集的客户端。缓存这似乎是一个陷阱22,因为:

  • 一方面,我无法存储和检索每个请求的整个数据集(这会使网络不堪重负)
  • 另一方面,我不能只存储每行,因为那样我就无法运行查询。
  • 使用本地“索引”或目录将值的范围存储在缓存中是可行的...除此之外,您必须从本质上为每个索引复制数据,这甚至无法使用分布式缓存。

  • 对于这种事情,建议采用哪种方法?是否有可能获得使用分布式缓存的好处,或者在这种情况下根本不可行?

    最佳答案

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

    但是对于这种情况,应该有可以提供更快结果的本机函数或过程。如果不可能有不同的作用域(如 session 或应用程序),则在服务器端需要多次迭代才能获取每个请求的数据。

    在数据库的服务器端进行索引从来都不是一个好主意。

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

    关于caching - 将分布式缓存用于可查询的数据集是否可行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12063075/

    10-15 03:20
    查看更多