springboot中如何向redis緩存中存入數據


package com.hope;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.hope.domain.User;
import com.hope.repository.UserRepository;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;

/**
* @author newcityman
* @date 2020/1/19 - 23:20
*/
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootJpaApplication.class)
public class RedisTest {
@Autowired
private RedisTemplate<String, String> redisTemplate;

@Autowired
private UserRepository userRepository;
@Test
public void test() throws JsonProcessingException {
//1、從redis中獲取數據,數據形式是json
String userListJson = redisTemplate.boundValueOps("user.findAll").get();
//2、判斷redis中是否存在
if(null==userListJson){
//3、如果不存在,從數據庫中查詢
List<User> list = userRepository.findAll();
//4、將查出的數據存放到redis中
ObjectMapper objectMapper = new ObjectMapper();
userListJson = objectMapper.writeValueAsString(list);
redisTemplate.boundValueOps("user.findAll").set(userListJson);

System.out.println("========從數據庫中獲取數據存入緩存========");
}else{
System.out.println("========從redis緩存中獲取數據========");
}
//5、將數據在控制台打印
System.out.println(userListJson);
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM