我来自传统的SQL背景,正在学习Redis。具体来说,我试图与node.js一起运行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的任何查询示例。
同时插入到数据库中,插入整个对象是最好的方式吗?
我的对象是JSON格式。我将它转换成一个字符串并输入到数据库中。你能指导我如何查询特定日期吗? – user1692342
你不能。 Redis不理解你的JSON字符串。为了能够按日期进行查询,您需要将日期转换为您将映射到对象ID的字符串键,或将它们存储为排序集以进行范围查询。总之,你应该使用不同的数据库。 Postgres和MongoDB是支持存储JSON文档和查询属性的流行选项。 –