springboot配置redis缓存

简介

springboot提供了许多的缓存类型,redis缓存配置只需要引入starter,修改相应的配置文件即可。更多内容

配置

  1. 添加starter
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
  1. 修改配置文件

spring:
  redis:
    host: 192.168.0.110

  1. 使用方法

spingboot 默认有2个模板提供使用

  • RedisTemplate 可以存对象 ,默认的序列化方式是jdk的序列化方式
  • StringRedisTemplate 只能存字符串

使用时,只需要注入即可,下面只演示了对象的存储,字符串同理

    @Autowired
	RedisTemplate redisTemplate;

    @Autowired
	StringRedisTemplate stringRedisTemplate;


	@Test
	public void contextLoads() {
		User user = new User();
		user.setId(1);
		user.setName("哈哈");
		redisTemplate.opsForValue().set("user",user);
		User user1 = (User) redisTemplate.opsForValue().get("user");
		System.out.println(user1.getName());
	}

序列化json存储

  1. 新建JsonRedisTemplate
public class JsonRedisTemplate extends RedisTemplate {
}
  1. 创建redis配置类
   @Configuration
    public class RedisConfigtion {
        @Bean
        public JsonRedisTemplate cacheManager(RedisConnectionFactory redisConnectionFactory,
                                            ResourceLoader resourceLoader) {
            JsonRedisTemplate redisTemplate = new JsonRedisTemplate();
            redisTemplate.setConnectionFactory(redisConnectionFactory);
            //设置键的序列化为字符串
            redisTemplate.setKeySerializer(new StringRedisSerializer());
            //设置值得序列化为JSON
            redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<Object>(Object.class));
            return redisTemplate;
        }
    }
    

注意:如果需要序列化其他类型,改变序列化参数即可

  1. 使用例子
@Autowired
JsonRedisTemplate jsonRedisTemplate;

@Test
public void testRedis() throws JSONException {
	User user = new User();user.setId(1);
	user.setName("哈哈");
	jsonRedisTemplate.opsForValue().set("user",user);
	Object obj = jsonRedisTemplate.opsForValue().get("user");
	LinkedHashMap map = (LinkedHashMap) obj;
	JSONObject json = new JSONObject(map);
	System.out.println(json.getString("name"));
}

总结

这只是一个简单的配置用法,springboot的详细用法需要参照其他文档使用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值