huh*_*ihi 5 memcached caching bigdata redis elasticsearch
我正在寻找一种可以处理大数据(<5GB)的内存中缓存解决方案。对于用户输入的搜索词,数据库(elasticsearch)将返回大量数据,该数据将通过该工具的不同网页进行分析和显示。现在我的问题是我想临时缓存这些大数据,直到用户会话结束为止,这样我就不必在每次用户打开新页面时都从elasticsearch再次获取它。它必须在内存中,因为基于磁盘的操作将花费一分钟以上,这将非常慢。
我最初以为是memcached,但最大限制为128MB。在阅读了很多内容之后,Redis似乎很合适,但是我不清楚一堆Redis节点是否可以串联工作。是否可以建立一个包含许多Redis节点的池,以便无需我指定节点就可以自动选择合适的节点SET并返回数据GET?
TL; DR
Redis 集群听起来很适合您的用例!
Redis集群提供了一种通过哈希槽的方式进行数据分片的机制。在设置集群时,这些插槽均匀分布在集群中的节点上。
每当您在集群中存储值时,都会计算给定键的相应哈希槽,并将数据转发到负责的节点。然后您可以以同样的方式再次查询您的数据。所以你的问题的答案当然是肯定的。
但是,每个键的最大值大小为 512MB。我不确定我是否正确理解了您的存储要求。我假设 5GB 是所有用户的估计总量。
查看redis 集群教程。
| 归档时间: |
|
| 查看次数: |
2918 次 |
| 最近记录: |