使用ReJSON

时间:2020-02-13 13:37:51

标签: redis redisjson

因此在json内部,我们有一个名为 items 的键,它实际上包含一个元素数组,现在我们可以使用JSON.GET employees-list .items[1]从该数组中获得选择性索引。

但是在我们的例子中,我们需要从该数组中获取一个范围,例如索引值为 0-10、10-20等的元素用于分页,这样我们就不必获取全部代码中的数据,然后过滤结果。

之所以寻找它,是因为如果我们要读取整个列表,那么由于数据量巨大,由于使用它的API和Redis服务器不在同一个实例上,因此数据传输延迟会增加,而且这样做更有意义如果可能的话,不必在代码中这样做。

那么第一件事甚至是可能的,如果是的话,我们如何实现它?

1 个答案:

答案 0 :(得分:2)

RedisJSON不支持完整的JSONPath语法,仅支持简单的单个路径。 但是,您可以利用Redis管道支持来获得足够好的结果,以非阻塞方式发送以下内容:

JSON.GET employees-list .items[1]
JSON.GET employees-list .items[2]
JSON.GET employees-list .items[3]
另一方面,

RedisJSON2具有完整的JSONPath支持,并且确实支持此类查询,但是当前为了向后兼容,它仅返回第一个元素(如RedisJSON)。这种支持可能会在下周添加。