用 Redis 查询?

问题描述 投票:0回答:3

我一直在学习 Node.js,所以我决定做一个简单的广告网络,但我似乎无法决定要使用的数据库。我一直在和 Redis 打交道,但我似乎找不到通过特定条件查询数据库的方法,相反我只能获取键或列表的值或在键内设置。

我是不是遗漏了什么,或者我应该使用像 MongoDB 这样更强大的数据库?

node.js mongodb redis nosql
3个回答
19
投票

我建议阅读this关于Redis的教程,以了解它的概念和数据类型。我也很难理解为什么没有类似于其他(没有)SQL 数据库的查询支持,直到我阅读了几篇文章并尝试测试和比较 Redis 与其他解决方案。也许它不是适合您的用例的数据库,尽管它非常快并且支持高级数据结构,但缺少对您至关重要的查询。如果您正在寻找一个允许您查询数据的数据库,那么您应该尝试 mongodb 或者 riak.


7
投票

Redis 通常被称为数据 结构服务器,因为密钥可以 包含字符串、散列、列表、集合 和排序集。

如果可以(易于实现),您应该使用这些原语(字符串、散列、列表、集合和排序集合)。 Redis 的主要优点是快如闪电,但它是相当原始的键值存储(redis 稍微先进一点)。这也意味着它不能像 SQL 那样

queried

使用更高级的存储可能会更容易,例如 Mongodb,它是一个面向文档的数据库。你在这种情况下做出的权衡是性能,但我相信你应该只在这成为一个问题时才解决这个问题,这可能不会是因为 Mongodb 也非常快并且具有它可以是

queried
的优势.我认为最好为您的查询(读>写)设置适当的索引以使其快速。


2
投票

我认为主要的答案来自于数据结构。查看这篇关于 NoSQL 数据建模的文章,对我来说非常有帮助:NoSql 数据建模

第二篇关于数据建模的好文章,并对 SQL 和 NoSQL 进行了比较如下:关系模型反模式

© www.soinside.com 2019 - 2024. All rights reserved.