redis 知识点

redis 事务

保证命令执行原子型,一般都是set命令,不支持回滚。
要么客户端应用处理回滚,要么重试保证成功

实现方式:cas乐观锁

redis 单机处理逻辑

  1. redis服务端内部处理命令是单线程的
  2. 客户端会并发请求某个key
  3. 并发请求如何到单线程处理:
1. 找到可处理的请求:通过多路复用框架实现(epoll、evport、kqueue和select),在以上实现在宿主都找不到,才会选用select。通过多路复用框架实现(epoll、evport、kqueue和select),在以上实现在宿主都找不到,才会选用select。
2. 对ready的fb执行命令返回结果

持久化

redis持久化分为全量和增量

全量:save+bgsave

save 模式会导致长时间服务器不可用,bgsave模式以fork子线程去执行快照落地,这期间服务器正常对外提供服务,缺点是,需要使用更多的额外内存才能完成fork。

增量:aof、aof+rewrite(fork子线程)

aof的3种策略:

  1. 每次迭代循环都执行日志落盘(容错能力高,磁盘写入会成为性能瓶颈)
  2. 每秒一次落盘,任务写入队列,bio线程消费执行队列落盘,redis对外写服务吞吐量不可能超过磁盘写入吞吐量,否则会造成bio任务队列积压,通常为了保护内存用了会限制任务队列长度,使得后续提交任务阻塞,阻塞redis写操作。
  3. 不显式落盘,由操作系统决定(容错能力不可控)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值