Redis基础

redis

1.是什么?

Redis是由ANSIC语言编写的,性能优秀,支持网络,可持久化的内存数据库,并支持多种语言的API。可以用作数据库,缓存消息中间件

  • 性能优秀,数据在内存中,读写速度非常快,支持并发10W+QPS;
  • 丰富的数据类型,支持String,hash,list,set,zset等;
  • 支持持久化。可以将内存中的数据保存在磁盘中,重启时加载;
  • 主从复制哨兵,高可用;
  • 可以作为消息中间件使用,支持订阅发布;

2.单线程还是多线程?

Redis 6.0 在2019年底发布,他是支持多线程的。所以说在之前的版本的Redis都是单线程的。

3.多线程的优势?

  • 单线程Redis的性能瓶颈主要在于网络的IO消耗,所以我们再优化的方向就是提高网络IO性能;
  • Redis 6 一如的多线程IO特性对性能提升至少一倍以上。Redis的多线程部分只是用来处理网络数据的读写和协议解析,执行命令任然是单线程。

4.主从复制及其存在的问题?

主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。
存在以下问题:

  • 一旦主节点宕机,从节点晋升为主节点,同时需要修改应用方的主节点地址,还需要命令所有从节点去复制新的主节点,整个过程需要人工干预。
  • 主节点的写能力受到单机的限制。 主节点的存储能力受到单机的限制。
  • 原生复制的弊端在早期的版本中也会比较突出,比如:redis复制中断后,从节点会发起psync。此时如果同步不成功,则会进行全量同步,主库执行全量备份的同时,可能会造成毫秒或秒级的卡顿。

5.哨兵的工作原理及其底层机制?

**Sentinel(哨兵)**是用于监控Redis集群中Master状态的工具,是 Redis 高可用解决方案,哨兵可以监视一个或者多个redis master服务,以及这些master服务的所有从服务;当某个master服务宕机后,会把这个master下的某个从服务升级为master来替代已宕机的master继续工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值