Redis笔记(更新中)

redis为什么快?

1.基于内存的,不用磁盘io,所以快

2.io多路复用,一个线程监控多个socket连接

3.单线程,减少上下文线程切换(6.1之后处理和客户端的连接是多线程,但是处理命令是单线程)

因为内存资源都是很宝贵的(一个电脑硬盘可能几百个g,内存只有几个g),redis是怎么做的?

引出两个概念

1.过期删除

redis的key都是有过期时间,但是有海量的数据,要怎么删除?考虑性能问题

redis是用随机的部分抽查+惰性删除(查出来发现过期了,再删除,返回一个空值)

2.内存淘汰

内存满了怎么办?

LRU最近最少使用,也是redis默认的内存淘汰策略

redis的持久化策略

因为是基于内存的,那重启会不会丢失?肯定会,redis有两个持久化策略

1.AOF---增量备份

只记录最新数据的变更(操作日志)记录redis命令

2.RDB-----全量备份

复制粘贴,物理日志,全量记录

海量数据的时候怎么备份?

1.全量备份(不行,效率不高)

2.只备份最新的数据变化(不行,记不全)

redis采用两者相结合的方式去持久化的

redis如果进行主从复制的?

先同步RDB再同步AOF

AOF记录文件太大了怎么办?

AOF重写(可以配置的),减少很多命令重复的,减少内存占用

Redis的数据结构?

string list set zset hash

首先要确定的是,redis其实就是基于内存的hashmap,key是string value是上面所说的数据结构

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值