redis保存对象

项目中使用Redis缓存用户,查询时优先从Redis获取。初学者遇到将对象存入Redis的困惑,尝试多种方法如转化为字节流失败。最终发现直接保存实现了序列化接口的用户对象可行,简化了操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中需要对用户进行缓存,即查询用户的时候,先去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),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值