问题标签 [spring-data-redis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-data-redis - Spring-data-redis 缓存 - 如果我使用 CustomizeRedisCacheManager,即使数据被缓存,也会调用后端方法
我正在使用 Spring-data-redis 缓存(1.6.1),Jredis Client 2.7.3。我们要启用故障转移。如果redis服务器关闭,我希望应用程序继续工作
1)如果我使用 spring-data xml 配置,redis 缓存工作正常。它调用后端,缓存数据,然后在第二次调用时不调用后端。但是,如果服务器使用 xml 配置关闭并返回 null 以便应用程序继续工作,我不知道如何捕获 Redis 异常。没有足够的文档。(此解决方案不起作用)
2)我已经使用Java配置了redis缓存,在这种情况下,我能够捕获故障转移异常,但是Spring-data-redis继续调用后端数据库方法,即使redis缓存正在工作。所以它应该调用后端方法并缓存数据。第二次调用不应返回后端数据库。
所以它在所有请求上缓存和调用后端数据库方法。
我想知道是否有人遇到过这个问题。或者关于如何在后端 Redis 服务器关闭时故障转移 spring-data-redis 的任何想法。
我附上了示例代码。
这是 AppConfig.java
这是HelloWorldServica.java
WelcomeController.java
spring - spring web ResponseEntity不能序列化
如果使用@Cacheable 返回值'ResponseEntity',我得到序列化错误。
演示:</p>
spring-cloud - 带有注释的 Spring 和 Redis 队列侦听器
Spring中有一种方法可以使用注释配置Redis队列侦听器吗?
我想要类似Spring Cloud for AWS的基于注释的 SQS 队列侦听器,但使用 Redis 作为队列。
查看文档我找不到任何适合我的东西。
这个特性已经在 Spring 中实现了,还是我需要自己实现?
spring-boot - 指定与 spring-data-redis 一起使用的逻辑数据库
我正在使用spring-data-redis
,spring-session
和 Spring Boot 连接到我的 Redis 实例。但是,我不想spring-data-redis
连接到 DB 0(这是默认设置),而是连接到另一个本地数据库(比如 DB 1)。这是我希望存储会话的地方。spring-data-redis 可以做到这一点吗?
json - RedisTemplate 哈希值序列化器用于具有多种类型的嵌套对象
我正在尝试使用 Redis 为我的实体存储一些缓存数据,其中包含不同类型的字段,例如,
有更多字段,并且由于几个字段的更新频率比其他字段更频繁,我决定将其保存job
为 Redis 中的 Hashmap,每个字段作为键。在这里嵌套对象jobDef
并不重要,所以我使用Jackson2JsonRedisSerializer
as hashValueSerializer
forRedisTemplate
和jobDef
obj 将被序列化为长 JSON 字符串,这在我的情况下完全没问题。
但我不知道如何有效地job
从 Redis 反序列化整个对象。我设置为反序列化器的类型就像Jackson2JsonRedisSerializer(Map.class)
但在反序列化字符串键和值时会抱怨。
那么这是一个无效的用法,RedisTemplate
或者我应该如何为它配置我的序列化程序?
编辑:添加更多代码细节,
第二次编辑:
如果使用JdkSerializationRedisSerializer
as HashValueSerializerRedisTemplate
则反序列化工作正常,但是使用这个的缺点是存储在 Redis 中的值与使用时不同的人类可读字符串值Jackson2JsonRedisSerializer
。
redis - 使用 spring-data-redis 1.7.0.M1 时如何配置 redis-cluster
我使用 spring-data-redis 版本 1.7.0.M1 和 jedis 版本 2.8.0 这是我的配置
并使用【redisTemplate.opsForValue().get("foo")】测试
抛出异常
使用 spring-data-redis 1.7.0.M1 时如何配置 redis-cluster?
spring-boot - 如何在 Spring Boot 应用程序中创建第二个 RedisTemplate 实例
根据这个答案,RedisTemplate
不能支持多个序列化器的值。所以我想为不同的需求创建多个 RedisTemplates,特别是一个用于字符串操作和一个用于 JSON 序列化的对象,用于RedisCacheManager
. 我正在使用 Spring Boot 并且电流RedisTemplate
是自动装配的,我想知道声明第二个RedisTemplate
实例共享同一个 Jedis 连接工厂但有自己的序列化程序的正确方法是什么?
在两个不同的组件中尝试过这样的事情,
组件 1 声明,
组件 2 声明,
在这种情况下,这两个模板实际上是相同的。追踪到 Spring 代码,发现组件 1 的模板被解析为 autoconfigured stringRedisTemplate
。
手动调用RedisTemplate
' 构造函数然后它afterPropertiesSet()
也不会工作,因为它抱怨找不到连接工厂。
我知道这个请求可能与在 Spring 应用程序中定义另一个 bean 没有太大区别,但不确定当前的 Spring-Data-Redis 集成对我来说最好的方法是什么。请帮忙,谢谢。
java - Spring Redis Hash 操作 SCAN
我在做Spring Redis
,我把钥匙当作
我想从List<>
,
也不工作。请帮忙!!
spring-session - 多个 Spring 会话可以由同一个 redis 实例支持吗?
我们有几个用 Java Spring 编写的 Web 应用程序,我们正在使用spring-data-redis
和@EnableRedisHttpSession
. 我想知道春季会议的内部结构是什么。它会在创建新会话之前检查 redis 数据库中是否存在重复的会话密钥?
我查看了 spring 文档并进行了谷歌搜索,但无法得到明确的答案。
jedis - 在管道中时无法使用 Jedis。请使用 Pipeline 或重置 jedis 状态
我在 spring data redis 中执行管道命令时遇到问题。我正在使用 StringRedisTemplate。spring-data-redis 1.6.1、spring boot 1.3.2 和 jedis 2.7.3 和 2.8.0。
编码:
执行 pExpire 时,它会在主题中出现异常。我尝试过参考指南中建议的不同口味:with
同样的结果。任何想法?谢谢