Redis 有使用“搜索”模块进行各种字符串操作的选项,但这些选项仅限于在给定字符串内搜索,没有比较。
您能否举例说明不在给定字符串内的所需比较?
搜索查询可以进行一些比较。
对于光标,可以使用FT.CURSOR,例如:
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>