@RunWith(SpringRunner.class)
@SpringBootTest
public class JedisCacheServiceTest {
private Logger logger = LoggerFactory.getLogger(JedisCacheService.class);
@Autowired
private JedisCacheService jedisCacheService;
@Test
public void putObject() {
User user = new User("zhuoqiammingyue",19);
jedisCacheService.putObject("user01",user);
logger.info("缓存用户成功!");
}
@Test
public void getObject() {
User user = (User)jedisCacheService.getObject("user01");
logger.info("User name={},age={}",user.getName(),user.getAge());
}
}
putObject 日志信息:
2020-02-26 22:08:50.320 INFO 26748 --- [ main] cn.lijunkui.cache.JedisCacheServiceTest : Started JedisCacheServiceTest in 7.157 seconds (JVM running for 9.357)
2020-02-26 22:08:51.144 INFO 26748 --- [ main] cn.lijunkui.cache.JedisCacheService : 缓存用户成功!
getObject 日志信息:
2020-02-26 22:09:57.492 INFO 9612 --- [ main] cn.lijunkui.cache.JedisCacheServiceTest : Started JedisCacheServiceTest in 7.07 seconds (JVM running for 8.902)
2020-02-26 22:09:58.143 INFO 9612 --- [ main] cn.lijunkui.cache.JedisCacheService : User name=zhuoqiammingyue,age=19
@Test
public void putObject() {
User user = new User("zhuoqiammingyue2",20);
jedisJsonCacheService.putObject("user02",user);
logger.info("缓存用户成功!");
}
@Test
public void getObject() {
User user = (User)jedisJsonCacheService.getObject("user02",User.class);
logger.info("User name={},age={}",user.getName(),user.getAge());
}
}
putObject 日志信息:
2020-02-27 07:57:16.184 INFO 3692 --- [ main] c.l.cache.JedisJsonCacheServiceTest : Started JedisJsonCacheServiceTest in 7.92 seconds (JVM running for 10.786)
2020-02-27 07:57:16.852 INFO 3692 --- [ main] c.l.cache.JedisJsonCacheServiceTest : 缓存用户成功!
1
2
getObject 日志信息:
2020-02-27 07:57:56.359 INFO 27624 --- [ main] c.l.cache.JedisJsonCacheServiceTest : Started JedisJsonCacheServiceTest in 7.364 seconds (JVM running for 9.256)
2020-02-27 07:57:56.824 INFO 27624 --- [ main] c.l.cache.JedisJsonCacheServiceTest : User name=zhuoqiammingyue2,age=20
1
2
小结
序列化和Json这2种方式,在实际开发中可以根据你的喜好自行选择。Json 方式使用的是Gson 当然你也可以使用 FastJson ,序列化采用了 Java 原生的序列化和反序列化,同时你也可以切换成效率更高的 Hessian 进行序列化和反序列化。