这是我参与2022首次更文挑战的第23天,活动详情查看:2022首次更文挑战
昨天介绍了一下jedispool的生成原理,是为了今天的铺垫,有了这个池子,我们就可以操作这个对象,来获取jedis,进而操作redis了,好,话不多说,我们来实际操作一下。
操作代码
因为我们的jedis池子,已经交给SPring管理了看,所以我们注入是没有问题的
@Autowired
private JedisPool jedisPool;
获取一个jedis实例,因为jedis不是线程安全的,所以我们通过这个池子获取
Jedis jedis = jedisPool.getResource()
然后我们查询所有的这个咖啡,弄成一个菜单,缓存到这个redis里面去,那我们就需要一个查询方法,写代码的时候不要急,按照既定业务逻辑走,要啥写啥就行,那我们需要一个查询所有的方法,ok,这个repository给我们提供了这个方法,就像下面这样:
public List<Coffee> findAllCoffee() {
return coffeeRepository.findAll();
}
然后我们拿到数据就可以往里面放了,操作方法是下面这个方法:
key就是我们要放的key,什么key存入,就什么key取出,field是对应的字段,对应我们的咖啡名,然后value对应我们的咖啡价格,然后我们调用这个方法传值就行了。
取的时候也是一样,一个方法就是取所有,取所有使用这个方法:
它会返回一个Map,一会我们打印一下看看是什么?key的话就是你放置的key
那我们能不能取单个呢?也是可以的,取单个的话用这个方法:
你需要指定一个key,还要指定一个咖啡名字,就能把价格取出来,就是这样,简单吧,好,那我们看一下运行效果。
运行效果
执行sql如下:
获取的缓存数据如下:
金额是25,因为我做了金额的转换,这个之前有提到。