Skip to content

RedisTemplateWxRedisOps 不过期设置问题 #1548

Closed
@zacat

Description

@zacat

简要描述

ERR invalid expire time in SETEX

模块版本情况

  • WxJava 模块名: weixin-java-open
  • WxJava 版本号: 3.7.8.B

详细描述

在RedisTemplateWxRedisOps的SetValue中,设置0,Key永不过期,Redis报错,错误提示:ERR invalid expire time in SETEX

其中到期时间不能小于等于0, 所以报错。

如需永不过期,目前修改如下可用:
@OverRide
public void setValue(String key, String value, int expire, TimeUnit timeUnit) {
if (expire < 0) {
redisTemplate.opsForValue().set(key, value);
} else {
redisTemplate.opsForValue().set(key, value, expire, timeUnit);
}
}

image

修改setAuthorizerRefreshToken时长为-1
@OverRide
public void setAuthorizerRefreshToken(String appId, String authorizerRefreshToken) {
redisOps.setValue(this.getKey(this.authorizerRefreshTokenKey, appId), authorizerRefreshToken, -1, TimeUnit.SECONDS);
}

image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions