首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用RedisJSON进行游标分页

用RedisJSON进行游标分页
EN

Stack Overflow用户
提问于 2022-09-24 22:47:14
回答 1查看 33关注 0票数 0

我使用Redis存储JSON数据,模型中包含IdName字段。我的目标是使用Name作为游标来实现对这些数据的游标分页。我意识到这并不是唯一的,我需要做一些额外的工作来解决使用这个特定字段作为游标所带来的问题。然而,我很难找到一种方法,甚至开始用Redis命令实现基本的游标分页。Redis有使用" search“模块进行各种字符串操作的选项,但这些选项仅限于在给定字符串内进行搜索,不需要进行比较。我是不是在这里乱叫错了树,游标分页是不可能的?还是在我的设计中缺少了一些基本的东西?

EN

回答 1

Stack Overflow用户

发布于 2022-10-09 06:06:25

Redis有使用" search“模块进行各种字符串操作的选项,但这些选项仅限于在给定字符串内进行搜索,不需要进行比较。

您能给出一个示例,说明在给定字符串内所需的比较吗?

搜索查询可以进行一些比较。

对于游标,可以使用FT.CURSOR,例如:

代码语言:javascript
运行
复制
127.0.0.1:6379> JSON.SET key1 $ '{"Id": 100, "Name": "foo", "data": "val1"}'
OK
127.0.0.1:6379> JSON.SET key2 $ '{"Id": 200, "Name": "bar", "data": "val2"}'
OK
127.0.0.1:6379> JSON.SET key3 $ '{"Id": 300, "Name": "foo", "data": "val3"}'
OK
127.0.0.1:6379> FT.CREATE idx ON JSON SCHEMA '$.Id' as id NUMERIC '$.Name' as name TAG
OK
127.0.0.1:6379> FT.AGGREGATE idx '@name:{foo}' LOAD 2 @id @name WITHCURSOR COUNT 1
1) 1) (integer) 1
   2) 1) "id"
      2) "300"
      3) "name"
      4) "foo"
2) (integer) 17284697
127.0.0.1:6379> FT.CURSOR READ idx 17284697 COUNT 1
1) 1) (integer) 1
   2) 1) "id"
      2) "100"
      3) "name"
      4) "foo"
2) (integer) 17284697
127.0.0.1:6379> FT.CURSOR READ idx 17284697 COUNT 1
1) 1) (integer) 0
2) (integer) 0
127.0.0.1:6379> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73841025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档