我知道redis是与mongodb不同的架构。通过阅读此处和其他网站上的其他帖子,看起来redis适用于没有那么多数据的情况...... Mongo似乎在处理大量数据时会发光。 我也知道Mongo是无架构的。
我需要构建一个允许我的解决方案:
我目前正在阅读Mongo和Redis复制文档,但没有遇到任何描述此特定用例的内容。 任何见解都将不胜感激。
编辑1
我需要能够根据值提取数据。例如,我想说,我在Redis中创建了以下数据:
127.0.0.1:6379> set users:leto '{"name": "leto", "planet": "dune", "likes": ["spice"]}'
OK
127.0.0.1:6379> get users:leto
"{\"name\": \"leto\", \"planet\": \"dune\", \"likes\": [\"spice\"]}"
有时,我需要根据值提取数据...因此找到所有将“沙丘”设置为“行星”值的用户。这种类型的查询是否可以在redis中进行?
答案 0 :(得分:0)
你无法真正比较Redis和MongoDB。
Redis就像MemCache,但可以存储在磁盘上。 Redis存储原始数据,如字符串,字符串列表......不是对象。如果你想要商店对象,你必须先将其字符串化。
您无法仅根据密钥名称请求数据。
如果您不需要磁盘上的持久数据,Redis也可以这样做。
如果您只想要一个主服务器,但是在从服务器上进行复制,如果主服务器已关闭,则使用从服务器,您必须将Redis与Sentinel一起使用。
为了帮助您,我需要知道您需要存储的数据类型吗? 你能支持数据分区吗? 你需要回滚(我认为没有)? 节点上完全数据存储的大小是多少?
Redis的一个很好的用例是CQRS。 Redis可以用于R。
此致
修改强>
有时,我需要根据值提取数据...因此找到所有将“沙丘”设置为“行星”值的用户。这种类型的查询是否可以在redis中进行?
不,你不能查询。
如果您有hudge插入数据,请使用Cassandra。