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.

相关推荐
今天没ID10 分钟前
Java 数组进阶操作
java
卷到起飞的数分10 分钟前
5.MyBatis持久(dao)层框架
java·数据库·mybatis
XUN4J11 分钟前
Java没有指针,那它是怎么干C语言里指针干的活的?
java
浪漫血液&15 分钟前
事务ACID(四个核心特性)
数据库
d***93517 分钟前
【Spring】Cookie和Session是什么
java·后端·spring
蜂蜜黄油呀土豆30 分钟前
深入理解 Java Stream:从创建到过滤、归约、分组与聚合(带大量实战代码)
java·实战·stream流·api
一只叫煤球的猫44 分钟前
从 JDK1.2 到 JDK21:ThreadLocal的进化解决了什么问题
java·后端·面试
王道长服务器 | 亚马逊云1 小时前
直播站怎么做到“低延迟不掉线”?AWS + 拳头链路的实战组合
服务器·数据库·搜索引擎·云计算·aws
天马行空-1 小时前
ES 精准匹配 和 模糊查询的实现方式
java·开发语言
e***0961 小时前
【MySQL】MySQL库的操作
android·数据库·mysql