redis 查找key使用正在表达式与java的区别

redis与java的正则表达式语法有些区别,需要特别注意一下。

Redis支持的正则表达式规则如下‌:

  • *:匹配任意数量的字符。
  • ?:匹配零或一个字符。
  • []:匹配指定范围内的字符‌12。

Redis中使用正则表达式的命令和示例‌:

  • KEYS pattern:该命令可以返回与指定模式匹配的所有键名。例如,KEYS user*可以获取所有以"user"开头的键‌3。
  • SCAN:这是一个迭代器命令,用于逐步遍历键空间。它支持使用正则表达式,但需要注意的是,SCAN命令本身不支持直接使用正则表达式,而是通过模式匹配来实现类似的功能。例如,SCAN 0 MATCH *pattern*可以逐步返回匹配指定模式的键‌。

Keys

Another way to iterate over the keyspace is to use the KEYS command, but this approach should be used with care, since KEYS will block the Redis server until all keys are returned.

Warning : consider KEYS as a command that should only be used in production environments with extreme care.

KEYS may ruin performance when it is executed against large databases. This command is intended for debugging and special operations, such as changing your keyspace layout. Don't use KEYS in your regular application code. If you're looking for a way to find keys in a subset of your keyspace, consider using SCAN or sets.

Supported glob-style patterns:

  • h?llo matches hello, hallo and hxllo
  • h*llo matches hllo and heeeello
  • h[ae]llo matches hello and hallo, but not hillo
  • h[^e]llo matches hallo, hbllo, ... but not hello
  • h[a-b]llo matches hallo and hbllo

Use \ to escape special characters if you want to match them verbatim.

相关推荐
瀚高PG实验室6 分钟前
highgo DB中数据库对象,模式,用户,权限之间的关系
数据库·瀚高数据库
飞舞花下7 分钟前
MAVEN私有仓库配置-Nexus私有仓库
xml·java·maven
越来越无动于衷8 分钟前
odbc链接oracle数据源
数据库·oracle
毕设源码-赖学姐12 分钟前
【开题答辩全过程】以 基于SpringBoot的健身房管理系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
李迟28 分钟前
Golang实践录:使用sqlx操作sqlite3数据库
数据库·golang·sqlite
小Mie不吃饭1 小时前
Oracle - 闪回技术及生产实践
数据库·oracle
爱丽_1 小时前
MyBatis事务管理与缓存机制详解
数据库·缓存·mybatis
Filotimo_1 小时前
EntityGraph的概念
java·开发语言·数据库·oracle
wregjru1 小时前
【读书笔记】Effective C++ 条款1~2 核心编程准则
java·开发语言·c++
CodeAmaz1 小时前
一致性哈希与Redis哈希槽详解
redis·算法·哈希算法