gpt4 book ai didi

java - 使用 Spring Data Redis 在 Redis 中执行 SCAN 操作时出现 ERR 语法错误

转载 作者:太空宇宙 更新时间:2023-11-04 09:12:02 24 4
gpt4 key购买 nike

在使用 Spring Data Redis 处理 Redis 时,我尝试扫描服务器中的哈希数据(类似于 CLI 中的 HSCAN)-

Cursor<Entry<Object,Object>> scan = redisTemplate.opsForHash().scan("student", new ScanOptionsBuilder().count(0).match("*").build());

运行时出现以下错误 -

redis.clients.jedis.exceptions.JedisDataException: ERR syntax error

谁能帮我解决这个问题。

有很多相关讨论,但没有一个提供明确的答案。

最佳答案

您应该使用 count > 0,或者根本不使用 count(默认为 10)。

查看ScanOptions.java ,如果使用 count,则将其传递给命令而不进行任何检查。

快速检查 redis-cli 显示 COUNT 0 抛出 ERR 语法错误

> hset hash1 f v
(integer) 1
> hscan hash1 0 MATCH * COUNT 0
(error) ERR syntax error
> hscan hash1 0 MATCH * COUNT 1
1) "0"
2) 1) "f"
2) "v"

参见SCAN > The COUNT option更多细节。虽然它没有声明它必须大于 0,但它应该大于 0,这是有道理的。

关于java - 使用 Spring Data Redis 在 Redis 中执行 SCAN 操作时出现 ERR 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59563986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com