一、为什么要使用redis,redis的好处:
1、免费开源:
2、数据存储:数据保存在内存中,读取速率高,并且可以不定期的持久化,保证了数据的安全。
3、支持类型:相比较memcached(支持支String字符串和二进制码)支持的类型多,redis(支持String、List、set、zset、hash)
4、跨语言:支持各种语言客户端访问,如:Java、C/C++、C#、PHP、JavaScript.
5、扩展性:支持集群(主从同步)数据可以从主服务器向任意数量的从服务器同步,从服务器可以使关联其他从服务器的主服务器。
二、MySql、Memcached、Redis的比较
三、使用场景:
1、缓存:
经常查数据,发到读写速度很快的内存中,以便下次访问减少时间,减少压力,减少访问时间。
2、计数器的应用:
比如网站统计用户的点击数,两站的总浏览量等,QQ的点赞数、转发数。
3、实施防攻击系统:
例如,攻击——> 暴力破解用户密码,防——>记录IP访问次数,当次数达到一定量是锁定用户。
传统解决方案:
3.1 、存储进数据库(存在问题,登录访问量巨大高并发。)
3.2、定义一个 static Map<Object> map ; 集合,将登陆信息放入内存中(存在问题是,Map空间有限大批量就不再适用,且断电后数据丢失。)
问题:
3.3、每次查询数据慢,解决方案《多次写内存》。
3.4、断电后数据丢失,多个节点不能共用,解决方案《redis集群,容量无限大,可以共享数据,且支持过期》
4、排行榜:
营销活动的排行榜,如:总分榜、消费榜,积分榜。
5、设置应用有效期:
设置数据的有效期,到指定时间失效、解锁。
原文:https://www.cnblogs.com/zouxiangzhongyan/p/10472410.html