redis保存对象

项目中需要对用户进行缓存,即查询用户的时候,先去redis库中去查,如果有就直接返回,没有则进入表中查询,这是很正常也很合理的一个需求。问题鄙人之前没有接触过redis,所以一头雾水,在网上看了很多资料后,就开始下水了。

首先spring里面集成redis,这个就不说了,之前发过一关于这篇的,此处不再赘述。

代码中引入redis实例,用来操作数据的增删改查

@Autowired
private RedisTemplate temp;//里面定义对五种数据结构的操作
redisTemplate.opsForValue();//操作字符串
redisTemplate.opsForHash();//操作hash
redisTemplate.opsForList();//操作list
redisTemplate.opsForSet();//操作set
redisTemplate.opsForZSet();//操作有序set

今天就说第一个操作字符串,首先这个绝逼是坑人的家伙,因为我要保存用户对象,感觉我操,这个肯定不行呀,这个只能保存字符串的呀,然后找了各种方法,比如把对象经过各种倒腾,放到字节流数组里(ps:都是在网上面抄的),结果始终不行,耽误我一上午时间尝试,结果后来,我什么都不管,直接保存用户对象试试,特么的结果OK了,我日,本来很简单,结果被自己吓得搞的好复杂。

ValueOperations ops = temp.opsForValue();
ops.set(queryKey,user);

就这样可以了,当然有一个前提,user类必须实现了序列化接口的;

取就直接ops.get(queryKey),

你可能感兴趣的:(redis学习)