redis查询keys报错的实现

 更新时间:2025年04月09日 09:17:39   作者:a未来永远是个未知数  
在Redis中使用KEYS命令来查询所有符合特定模式的键名是一个常见需求,本文主要介绍了redis查询keys报错的实现,具有一定的参考价值,感兴趣的可以了解一下

ERR unknown command keys

切换redis后发现keys命令出现报错,经查询原因如下:

原因可能是:keys命令用于全局查询  一般不建议使用所以能在redis.conf中配置了置换该命令 

解决方案: 检查redis.conf 中是否有该命令禁用配置
                    rename-command FLUSHALL ""  清空所有的库数据
                    rename-command FLUSHDB ""      清空当前库数据
                    rename-command KEYS ""        查询所有库数据 (因为数据量大时 执行此操作会消耗大量的资源 一般不建议使用该命令)

如果有注释掉即可 

但是因为使用的是统一部署的redis,无法进行修改操作,于是只好修改涉及kes命令的操作

使用scan获取redisKey

@Autowired
public RedisTemplate redisTemplate;

public Set<String> scan(String matchKey) {
	Set<String> keys = new HashSet<>();
	ScanOptions scanOptions = ScanOptions.scanOptions().match(matchKey).count(1000).build();
	Cursor<byte[]> cursor = (Cursor<byte[]>) redisTemplate.execute(redisConnection -> redisConnection.scan(scanOptions), true);
	RedisSerializer redisSerializer = redisTemplate.getKeySerializer();
	while (cursor.hasNext()) {
		keys.add(String.valueOf(redisSerializer.deserialize(cursor.next())));
	}
	return keys;
}

到此这篇关于redis查询keys报错的实现的文章就介绍到这了,更多相关redis查询keys报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:

相关文章

  • redis键值出现\xac\xed\x00\x05t\x00&的问题及解决

    redis键值出现\xac\xed\x00\x05t\x00&的问题及解决

    这篇文章主要介绍了redis键值出现\xac\xed\x00\x05t\x00&的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Redis配置文件代码讲解

    Redis配置文件代码讲解

    在本篇文章里小编给大家整理的是一篇关于Redis配置文件的说明内容,需要的朋友们可以学习下。
    2020-03-03
  • Redis分布式锁防止缓存击穿的实现

    Redis分布式锁防止缓存击穿的实现

    本文主要介绍了Redis分布式锁防止缓存击穿的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 详解Redis数据类型实现原理

    详解Redis数据类型实现原理

    这篇文章主要介绍了Redis数据类型实现原理,在工作中或学习中有需要的小伙伴可以参考一下这篇文章
    2021-08-08
  • Redis 配置文件使用建议redis.conf 从入门到实战

    Redis 配置文件使用建议redis.conf 从入门到实战

    Redis配置方式包括配置文件、命令行参数、运行时CONFIG命令,支持动态修改参数及持久化,常用项涉及端口、绑定、内存策略等,版本8.0后配置文件更完整,缓存场景建议使用LRU淘汰策略,本文给大家介绍Redis 配置文件使用建议redis.conf 从入门到实战,感兴趣的朋友一起看看吧
    2025-06-06
  • Redis大量数据插入过程

    Redis大量数据插入过程

    本文介绍Redis处理大数据插入的三种高效方法:redis-cli管道模式、Jedis pipelined()方法及RedisTemplate批量保存,旨在减少通信开销并提升吞吐量
    2025-08-08
  • redis实现分布式延时队列的示例代码

    redis实现分布式延时队列的示例代码

    延时队列是一种特殊的消息队列,它允许将消息在一定的延迟时间后再进行消费,延时队列的实现方式可以有多种,本文主要来介绍一种redis实现的分布式延时队列,希望对大家有所帮助
    2023-10-10
  • Redis 命令的详解及简单实例

    Redis 命令的详解及简单实例

    这篇文章主要介绍了Redis 命令的详解及简单实例的相关资料,这里提供基础语法及使用实例,需要的朋友可以参考下
    2017-08-08
  • 浅谈Redis中的RDB快照

    浅谈Redis中的RDB快照

    虽说Redis是内存数据库,但是它为数据的持久化提供了两个技术,分别是AOF日志和RDB快照。这两种技术都会用各用一个日志文件来记录信息,但是记录的内容是不同的。AOF 文件的内容是操作命令; RDB 文件的内容是二进制数据。本文将讨论RDB快照的原理和使用
    2021-06-06
  • Redis在Ubuntu系统上无法启动的问题排查

    Redis在Ubuntu系统上无法启动的问题排查

    这篇文章主要介绍了Redis在Ubuntu系统上无法启动的问题排查,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-08-08

最新评论