Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ReJSON从redis获取元素范围_Redis_Redisjson - Fatal编程技术网

使用ReJSON从redis获取元素范围

使用ReJSON从redis获取元素范围,redis,redisjson,Redis,Redisjson,因此,在json内部有一个名为items的键,它实际上包含一个元素数组,现在我们可以使用json.get employees list.items[1]从该数组中获取选择性索引 但在我们的例子中,我们需要从这个数组中获取一个范围,比如索引为0-10、10-20等的元素,以便分页,这样我们就不必在代码中获取整个数据,然后过滤结果 我之所以寻找它,是因为如果我们阅读整个列表,那么数据大小将是巨大的,数据传输延迟将增加,因为使用它的API和redis服务器不在同一个实例上,而且如果可能的话,不必在代码

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

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

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

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

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

JSON.GET employees-list .items[1]
JSON.GET employees-list .items[2]
JSON.GET employees-list .items[3]
另一方面,它有完整的JSONPath支持,并且确实支持这样的查询,但目前为了向后兼容,它只返回第一个元素(如)。这类支持可能将在下周增加