java - Spring Redis 通过通配符键获取值

标签 java spring spring-boot redis spring-data

我正在使用 Spring Data RedisTemplate(不是存储库)。一切正常

template.opsForValues().get("mykey:1")

但是我有一些更复杂的键,比如“myobject:somesituation:1”和“myobject:anothersituation:2”等等。我需要做类似的事情:

template.opsForValues().get("myobject:somesituation:*")

使用通配符,我想获取“somesituation”中的所有值,无论它的 id 是什么。

使用redis命令行,没问题。

观察:我正在使用 react 模板,不知道(相信)这是否是问题所在。 Obs2:经过研究,我刚刚找到有关Spring Repository,获取所有 key ,通过命令行获取等的帖子。但不是关于我的具体问题。

最佳答案

解决方案是使用:

enter image description here

在红色矩形中,我标记了您应该使用的方法来实现您的目标。

你可以这样做:

Set<String> keys = template.keys("myobject:somesituation:*")

然后查询您的 key 集。

希望这对您有所帮助。

关于java - Spring Redis 通过通配符键获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44187569/

相关文章:

java - Spring Data JpaRepository "JOIN FETCH"返回重复项

java - 使用 Spring Mail 将电子邮件保存到已发送文件夹中

java - JPA 多对多关系 "JoinColumn cannot be resolved to a type"错误

spring - 如何通过 GELF 将 spring boot 访问日志发送到远程服务器?

spring - SpringBoot-微服务的Docker化+ Angular + MySQL + RabbitMQ

java - 在 Netbeans 中添加监听器

java - 在java中处理套接字

java - 无法在 Tomcat 6 服务器中解压缩 WAR 文件

java - 部署 WAR 文件时出错

ssl - JHipster 运行但没有发生 SSL 挑战