基于springboot 中redistemplate的用法举例

首先进行webmvcconfig的配置:

@Configuration
public class RedisConfig {
    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnectionFactory);
        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
        redisTemplate.setKeySerializer(stringRedisSerializer);
        redisTemplate.setHashKeySerializer(stringRedisSerializer);
        GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
        redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer);
        redisTemplate.setHashValueSerializer(genericJackson2JsonRedisSerializer);
        return redisTemplate;
    }
}

 起到工具类的效果进行调用

这里展示的用法是生成token并且键值对形式保存到redis中被调用,第二种是和验证码键值对保存到redis中当然基本的增删改查定义可以被调用。

@Component
public class TokenUtils {

    private static RedisTemplate redisTemplate;

    public static RedisTemplate getRedisTemplate() {
        return redisTemplate;
    }

    @Resource
    public void setRedisTemplate(RedisTemplate bean) {
        TokenUtils.redisTemplate = bean;
    }

    /**
     * 用户登录时,登录成功则创建token,调用此方法,将token放入redis中。有效时间为 7天
     *
     * @param token 生成的token
     * @param userId 生成token后,该token对应的用户id
     * @return java.lang.String
     * @date 2020/3/7 21:22
     * @author XuQ
     */
    public static String createToken(String token, String userId) {
        ValueOperations valueOperations = redisTemplate.opsForValue();
        valueOperations.set(token, userId, 7, TimeUnit.DAYS);
        return token;
    }

    /**
     * 是否还有效,返回真表示有效
     *
     * @param token 生成的token
     * @return boolean 真为有效,假为无效
     * @date 2020/3/7 19:55
     * @author XuQ
     */
    public static boolean isTokenValid(String token) {
        return redisTemplate.hasKey(token);
    }

    public static boolean deleteToken(String token) {
        return redisTemplate.delete(token);
    }

    public static String getUserIdByToken(String token) {
        return (String) redisTemplate.opsForValue().get(token);
    }

    public static void setVerificationCode(String mobile, String verificationCode) {
        redisTemplate.opsForValue().set(mobile, verificationCode, 60, TimeUnit.MINUTES);
    }

    public static String getVerificationCodeByMobile(String mobile) { return (String) redisTemplate.opsForValue().get(mobile);
    }

    public static boolean deleteVerificationCodeByMobile(String mobile) { return redisTemplate.delete(mobile); }


}

下一篇继续进行redis的用法以及redisClient在框架中的应用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

specialApe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值