咨询spring-data-redis何时支持HEXPIRE命令及相关实现计划
关于Spring Data Redis支持HEXPIRE命令的说明
- 当前Spring Data Redis 3.4.0适配的是Lettuce 6.3.2,而Lettuce 6.4.0才开始支持Redis 7.4.0新增的
HEXPIRE命令,因此3.4.x系列版本暂时没有封装该命令的API。 - 关于支持计划:Spring Data Redis通常会在后续版本中升级依赖的Lettuce版本,当它适配Lettuce 6.4.x及以上版本时,会同步添加
HEXPIRE的封装方法。根据以往的更新节奏,Spring Data Redis 3.5.x版本大概率会完成这个适配。 - 临时解决方案(无需切换到Redisson):如果现在需要使用
HEXPIRE,可以通过原生命令执行的方式绕过封装层,直接调用Redis命令:
同步方式示例:
响应式方式示例:Long expireResult = stringRedisTemplate.execute((RedisCallback<Long>) connection -> { // 参数依次为:哈希键名、字段名、TTL时长(秒) return connection.execute("HEXPIRE", "user:profile", "last_login", "3600"); });Mono<Long> expireResult = reactiveStringRedisTemplate.execute((ReactiveRedisCallback<Mono<Long>>) connection -> { return connection.execute("HEXPIRE", "user:profile", "last_login", "3600") .map(response -> (Long) response); });
内容的提问来源于stack exchange,提问作者윤태성
相关产品推荐
相关产品推荐

