Sping boot系列--redis之2 -- RedisKeyValueTemplate处理Model对象

7 篇文章 1 订阅
4 篇文章 0 订阅

简介

在sping-data-redis中,还提供了RedisKeyValueTemplate类,用来处理Model对象的set/get等处理。

查看实现

package org.springframework.data.redis.core;

/**
 * Redis specific implementation of {@link KeyValueTemplate}.
 * 
 * @author Christoph Strobl
 * @since 1.7
 */
public class RedisKeyValueTemplate extends KeyValueTemplate {
    ......
}




/**
 * Basic implementation of {@link KeyValueOperations}.
 * 
 * @author Christoph Strobl
 * @author Oliver Gierke
 * @author Thomas Darimont
 */
public class KeyValueTemplate implements KeyValueOperations, ApplicationEventPublisherAware {
    ......

}

在RedisKeyValueTemplate类中,缺省使用Jackson2JsonRedisSerializer作为序列号的处理类。
检查一下运行时的RedisKeyValueTemplate实例对象:
这里写图片描述

可以看到其中redisOps对象为StringRedisTemple,而其valueSerializer对象为Jackson2JsonRedisSerializer。

使用

使用起来一贯的简单。
处理redis的服务器配置,无需其他的Serializer配置,直接使用

@Autowired
private RedisKeyValueTemplate redisKeyValueTemplate;


@RequestMapping("/kvuser/{id}")
@ResponseBody
public String getKVUser(@PathVariable("id") long id) {
    log.info("---- getUser");
    //
    User user = new User(id, "kv-"+id+"@126.com", "kv-name-"+id, "pwd"+id, "address"+id, "phone"+id);
    String strKey = "com.dcloud.kvuser";

    User ret = redisKeyValueTemplate.findById(id, User.class);
    if (null == ret) {
        //
        String strInfo = "try to set because not find "+strKey;
        log.warn(strInfo);
        //
        redisKeyValueTemplate.insert(id, user);
        return strInfo;
    } else {
        log.info("find by kvTemple");
        log.info(user.toString());
        return user.toString();
    }
}

检查

访问2次后,在redis中可以看到对应的数据。

keys:
这里写图片描述

index:

这里写图片描述

model data:
这里写图片描述

缺少expire

因为使用RedisKeyValueTemplate时,spring 还会生成类似index的数据。所有这里没有expire的设置操作。

更多

查看javadoc,可以看到更丰富的功能和api。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值