• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    redis查询keys报错的实现

    发布者: 福建二哥 | 发布时间: 2025-6-19 12:39| 查看数: 134| 评论数: 0|帖子模式

    1. ERR unknown command keys
    复制代码
    切换redis后发现keys命令出现报错,经查询原因如下:
    原因可能是:keys命令用于全局查询  一般不建议使用所以能在redis.conf中配置了置换该命令
    解决方案: 检查redis.conf 中是否有该命令禁用配置
                        rename-command FLUSHALL ""  清空所有的库数据
                        rename-command FLUSHDB ""      清空当前库数据
                        rename-command KEYS ""        查询所有库数据 (因为数据量大时 执行此操作会消耗大量的资源 一般不建议使用该命令)
    如果有注释掉即可
    但是因为使用的是统一部署的redis,无法进行修改操作,于是只好修改涉及kes命令的操作
    使用scan获取redisKey
    1. @Autowired
    2. public RedisTemplate redisTemplate;

    3. public Set<String> scan(String matchKey) {
    4.         Set<String> keys = new HashSet<>();
    5.         ScanOptions scanOptions = ScanOptions.scanOptions().match(matchKey).count(1000).build();
    6.         Cursor<byte[]> cursor = (Cursor<byte[]>) redisTemplate.execute(redisConnection -> redisConnection.scan(scanOptions), true);
    7.         RedisSerializer redisSerializer = redisTemplate.getKeySerializer();
    8.         while (cursor.hasNext()) {
    9.                 keys.add(String.valueOf(redisSerializer.deserialize(cursor.next())));
    10.         }
    11.         return keys;
    12. }
    复制代码
    到此这篇关于redis查询keys报错的实现的文章就介绍到这了,更多相关redis查询keys报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    来源:https://www.jb51.net/database/339244vt9.htm
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    最新评论

    浏览过的版块

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表