0
我们正在开发处理数百万条记录的系统。需要在设计Redis结构时提出建议
Redis的结构
关于Redis的结构,我们计划使用哈希为每个设备,用户等,而且所有搜索/查询的字段将被添加为集哈希像下面 下面是Node.js的代码(它的POC代码)
var key ="dvc:"+data.id;
client.hmset(key,data,function(err, item){
client.sadd("tag:"+data.Tag,key,function(err, result1){
})
client.sadd("serialNo:"+data.SerialNo,key,function(err, result1){
})
client.sadd("currentStatus:"+data.Status,key,function(err, result1){
})
client.sadd("createdOn:"+data.CreatedDate,key,function(err, result1){
})
if(data.Boxes && data.Boxes.length > 0) {
for loop to add all boxes
client.sadd("boxes:" + data.Boxes[i].id, key, function (err, result1) {
})
}
一旦做到这一点的计划是使用一套查询来获得各种不同的标签,状态,日期和包装盒范围查询。你们推荐这个吗?我们计划运行负载测试以及..但要检查是否有更好的方法
要求2我们还需要快速搜索(自动完成) 为此我们正计划把所有搜索文本在zSET与分数,并使用 zrangebylex下面是搜索示例代码
client.zadd("zset",1,data.Tag+"|tag",function(err, result1){
console.log("imei "+result1);
})
client.zadd("zset",1,data.SerialNo+"|SerialNo",function(err, result1){
console.log("zset "+result1);
})
为获取查询 zrangebylex zset [2073 “[2073 \ XFF” LIMIT 0 10
一切看起来不错,但任何建议离子。
感谢您的回复!你对redis结构的看法。 – batwadi
@prakash总之,我在回答中告诉你看起来很好:D –