数据类型
Redis中String类型是最基础的类型,非常类似Java中的String类型,都是字符串类型。
特点
1.字符串最大长度为512MB
2.可以自增,自增时线程安全可靠
3.可以用来存贮任何数据结构,比如JSON,XML等
场景一:登录
记录登录错误次数,可以利用String可以自增的结构,用户每输错密码一次,调用 incr 命令来记录记录,key可以为用户的id
记录登录成功后的用户信息 将用户的令牌信息等直接存储到redis,key是用户id,value是用户信息
场景二: 限流
1.用户发送短信验证码限制次数:为了防止某些用户恶意刷短信验证码,比如一分钟只能发送一次,可以这只一分钟过期
2.接口访问限制次数:用来记录每个ip的访问次数,如果访问超过上限,直接在拦截器中返回,减轻服务器的压力
场景三:计数器
利用redis是单线程安全的特点,可以用来记录微服务产生的订单数,用户每天注册数等等
场景四:多线程控制线程安全
利用setnx 命令,比如用户只能点击一次,key设置用户id,value设置为接口地址,调用setnx 如果设置成功,则返回true,证明该线程没有被抢占,可以进行操作。返回false证明该资源被抢占,直接 return 即可
总结
redis 有着高可用和线程安全的特点,用来处理高并发,热点数据查询都是不错的选择。设置过期时间的特点可以用来限制登录次数,限流等