mysql - 从 node.js 在 redis 中查询

标签 mysql node.js redis

我有传统的 SQL 背景,正在学习 Redis。具体来说,我正在尝试与 node.js 一起运行 redis 数据库

我已经完成了 redis 的初始设置,并尝试了一些基本命令。但是我想创建一个数据库,其中包含一个 ID、学生的 3 个分数、开始日期和结束日期。

我相信我可以创建一个对象来存储特定 ID(例如 obj)的所有值,并使用 set 函数来保存有关该 ID 的详细信息。

client.set(ID, obj, function(err, reply) {
  console.log(reply);
});

如果我调用 client.get(ID) ,它将返回我在上面保存的对象。但是我想从特定的开始日期和结束日期获取 ID 的值。 在 SQL 中,它类似于:SELECT * FROM TABLE WHERE StartDATE>='' and endDate='' and id= ID;

redis 的替代方案是什么?我没能在 node.js 中找到 redis 的任何查询示例

另外,在插入数据库时​​,将对象作为一个整体插入是最好的方法吗?

最佳答案

Also while inserting into the database, is inserting the object as a whole the best way to go about?

不,不适用于您建议的示例查询。 Redis 不是传统的数据库,它更多的是like a key value store ,它不了解您的对象的结构。

如果你想像你建议的那样进行查询,你可能使用了错误的工具。

在 Redis 中,您不会存储对象,但可以存储更简单的结构,例如哈希。从 node_redis 窃取示例:

client.hmset("hosts", "mjr", "1", "another", "23", "home", "1234");
client.hgetall("hosts", function (err, obj) {
    console.dir(obj);
});

输出:

{ mjr: '1', another: '23', home: '1234' }

有关更多详细信息,请在此处查看 redis 文档:http://redis.io/commands

关于mysql - 从 node.js 在 redis 中查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30064676/

相关文章:

php - 解析错误子查询

javascript - 包括带有 html 和 node.js 的 js 文件

redis - 如何实现 Redis 备份服务器的冗余和故障转移策略

mysql - MySQL 的数据库模式设计,建议?

php - PHP中的分页问题

MYSQL:想要将日期列设为NULL

node.js - 如何在 Node.js 中设置 zmq 请求的超时?

node.js - 使用多个快速流程的最佳方式?

redis - StackExchange.Redis 系统.TimeoutException

redis - Spring XD分布式模式redis配置