11.11
继续总结高频面试题
Redis为什么快?
1.基于内存操作,数据存在内存中,读写无需磁盘 I/O
2.单线程模型,避免多线程上下文切换和锁竞争,简化并发控制
3.I/O 多路复用,单线程可高效处理数万并发连接
4.高效数据结构,如 SDS(动态字符串)、跳表(ZSet)、整数集合(IntSet)等,优化内存与性能
5.避免频繁系统调用,批量命令(pipeline)、异步持久化减少阻塞
Redis分布式锁:
1.获取锁:
使用SET命令尝试在指定的键上设置一个唯一的值作为锁。
设置键的超时时间,以防止获取锁后出现异常导致锁一直被占用(避免死锁)。
2. 释放锁:
使用DEL命令删除键来释放锁。
确保只有锁的持有者能够释放锁,可通过比较锁的值来进行验证。
Redis的缓存相关:
1.缓存穿透:缓存中和数据库中都没有所查询的东西,从而使数据库崩掉。
2.缓存击穿:缓存中没有但数据库中有,如果同一时间访问量过大会使数据崩掉。
3.缓存雪崩:缓存中的数据正好在一个时间删除,当请求来时穿过缓存访问数据库。
Nginx的作用:
1.反向代理:将多台服务器代理成一台服务器。
2.负载均衡:将多个请求均匀的分配到多台服务器上,减轻每台服务器的压力,提高 服务的吞吐量。
3.动静分离:nginx可以用作静态文件的缓存服务器,提高访问速度
4.限流熔断:控制请求频率
Nacos的功能:
1.服务注册与发现:微服务启动时向Nacos注册自身信息(IP、端口、健康状态),其他服务通过Nacos发现并调用。
2.动态配置管理:将配置从代码中剥离,集中存储在Nacos Server,客户端可监听配置变更并实时更新。

浙公网安备 33010602011771号