根据数据类型隐式查询Redis

时间:2019-01-06 23:30:17

标签: redis

我通过像这样扁平化JSON路径键来表示Redis中的JSON对象:

JSON对象

{
    "users": [
        {
            "name": "John Smith",
            "address": {
                "street": "12 Rainbow Avenue",
                "country": "Fuzzyland"
            }
        }, {
            "name": "Billy Bob",
            "address": {
                "street": "8 Rocky Lane",
                "country": "Fraggleville"
            }
        }
    ]
}

Redis条目

users // SET [0, 1]
users:0 // SET [name, address]
users:0:name // STRING "John Smith"
users:0:address // SET [street, country]
users:0:address:street // STRING "12 Rainbow Avenue"
users:0:address:country // STRING "Fuzzyland"
users:1 // SET [name, address]
users:1:name // STRING "Billy Bob"
users:1:address // SET [street, country]
users:1:address:street // STRING "8 Rocky Lane"
users:1:address:country // STRING "Fraggleville"

如您所见,对于数组或对象文字的属性,我正在使用Redis SET存储可用的键。

使用Node将JSON对象转换为该结构对我来说很容易。但是,我对Redis的经验不足,无法编写将复杂结果组合在一起的递归查询。

例如,假设我要获取users:1的所有键和值。如何编写一个查询,查看users:1的值,发现它是一个SET,因此将其值用作另一组查询键?

0 个答案:

没有答案