欢迎大家关注Java经验分享,里面大量BATJ面试题,Java技术干货、行业杂谈,也欢迎大家投稿~Java架构之无码不欢zhuanlan.zhihu.com
前言
Redis是什么?
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数 据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开 始,Redis的开发由Pivotal赞助。
Redis的特性有哪些?
Redis特性:
1、速度快
2、持久化
3、支持多种数据结构
4、支持多种编程语言
5、功能丰富
7、主从复制
8、高可用及分布式
揭开redis的神秘面纱
Redis是一个开源(KEY-VALUE键值对),内存存储的数据结构服务器,可用作数据库,高速缓存和 消息队列代理。采用单进程单线程模型,并发能力强大,是当前互联网架构中主流的分布式缓存工具;
Redis哨兵模式实现系统限流
1、业务场景
对于系统或平台而言,被终端攻击是一件不可避免的事情:
- 短时间多次操作系统;
- 重复操作导致缓存击穿甚至雪崩。
2、解决方案
(1)在 nginx 层拦截,防止多次提交。
(2)在 nginx 层+lua+redis做拦截,防止多次提交。
(3)在业务层面拦截,防止多次提交。
3、在业务层面拦截的解决方案
使用 Inteceptor 和 Redis。
1、当用户访问时,以ip或username+日期作为键,访问次数作为值,将其加入缓存,并设置过期时间。
2、如果没有达到一段时间内访问次数的阈值,每次访问将键值加1。
3、如果在过期时间内超过访问次数的阈值,直接返回并提示用户。
在这里分享一位阿里的架构师朋友他录制的【亿级并发流量控制策略!大话Redis哨兵模式下的系统限流实战】专题视频,对于面试中的难点-并发限流这块,是很好的补充。
视频内容如下:
1,纳尼?Redis还有设计思想?
2,传统设计方式的误区及事故重现;
3,传统系统改造成Redis系统实战;
4,Redis的Key设计思想与规范解读;
5,高并发网站核心功能设计实战;
6,高并发代码测试及效果演示;
由于篇幅原因,就不多做展示了,需要获取更全面的资料,或专题视频,私信我【资料】即可
也可以关注我的专栏
欢迎大家关注Java经验分享,里面大量BATJ面试题,Java技术干货、行业杂谈,也欢迎大家投稿~Java架构之无码不欢zhuanlan.zhihu.com
专栏顶部有免费获取方式