1.redis的使用
引入依赖,自动注解redistemplate即可使用,
默认的redistemplate存入到redis中是字符流的形式,需要配置redistemplate,
如果不想配置,可以使用stringRedistemplate 可以使用string类型,但是对象需要我们手动序列化,可以用fastjson
2.redis代替session进行登录验证(待手动实现)
seesion:用户发送手机验证码,存入session,用户进行验证,检查用户密码(或验证码)是否存在,不存在则新建,匹配正确后保存用户到session中
redis:用户发送手机验证码,存入redis(手机号作为key),用户进行验证,若正确则新建token(随机字符串)到redis,将token返回给前端,设置过期时间为30分钟,同时在拦截器更新过期时间
3.redis分布式锁
在集群模式下,多个jvm下会存在多个锁监视器,因此无法解决共享资源的互斥问题,因此使用redis来实现分布式锁
set lock thread1 nx ex 100
定义一个锁的接口和实现类
为了防止不同jvm含有相同的线程名称,使用uuid来检查释放锁是否一致
4.redission(待手动实现)
在redis下实现分布式锁虽然可以但是仍存在一些问题,不可重入、不可重试、超时释放、主从一致性问题,因此使用基于redis的redission组件,它是一个分布式工具集合
实现
1.引入pom依赖
2.使用配置类配置redission客户端