专栏/Redis 缓存

Redis 缓存

2022年06月16日 01:46--浏览 · --喜欢 · --评论
粉丝:8文章:12

缓存短信验证码

实现思路:

实现移动端手机验证码登录,随机生成的验证码保存在 HttpSession 中的。

现在将验证码缓存在 redis 中,具体实现思路:

  1. 在服务端 UserController 中注入RedisTemplate 对象,用于操作Redis

  2. 在服务端 UserController 的 sendMsg 方法中,将随机生成的验证码缓存到 Redis 中,并设置有效期5分钟

  3. 在服务端 UserController 的login方法中,从 Redis 中获取缓存的验证码,如果登录成功则删除 Redis 中的验证码

缓存查询列表数据

实现思路:

移动端菜品查新功能:对应的服务器方法为 DishController 的list方法,此方法会根据前端提交的查询条件进行数据库查询操作。在高并发的情况下,频繁查询数据库会导致系统性能下降,服务端响应时间增长。现在对需要对此方法进行缓存优化,提高系统的性能。

具体的实现思路如下:

  1. 改造 DishController 的 list 方法,先从 Redis 中获取菜品数据,如果有则直接返回,无需查询数据库;如果没有则查询数据库,并将查询到的菜品数据放入 Redis。

  2. 改造 DishController 的 save 和 update 方法,加入清理缓存的逻辑

注意:

在使用缓存的过程中,要注意保证数据库中的数据和缓存中的数据保持一致,如果数据库中的数据发生变化,需要及时清理缓存数据。

Spring Cache  可以对不同的缓存技术进行整合

spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。

spring Cache 提供了一层抽象,底层可以切换不同的cache实现。具体就是通过CacheManage接口来统一不同的缓存技术。

CacheManger是spring提供的各种缓存技术抽象接口。


针对不同的缓存技术需要实现不同的CacheManager:

spring Cache 常用注解

在spring boot 项目中,使用缓存技术只需在项目中导入相关缓存技术的依赖包,并在启动类上使用@EnableCacheing 开启缓存支持即可。

eg:

使用Redis作为缓存技术,只需导入Spring data Redis 的maven 坐标即可。

#### 

spring Cache 用法




投诉或建议