什么是redis

什么是redis

1.什么是redis

是一种key value形式的非关系型数据库,一般先存在内存中,在存入硬盘中,因为是存在内存中,所以效率非常快,一般是用它来做缓存的;redis是单线程的采用的多路复用的非阻塞io,所以速度很快。

2. 数据类型

String:

计数器、粉丝数、也可以存储对象

hash:

适合存储对象,用户信息等

list:

关注列表,粉丝列表这些

set:

共同关注,共同喜好

zset:

可以通过score来做时间窗口

3. 持久化

rdf

当它达到某个条件,会把内存数据 保存到rdb文件里面,保存有同步和异步,一般默认是异步

aof:

日志的方式写命令,每有一条写的命令,就会追加到aof里面,aof每隔一段时间会进行重写,把一些垃圾命令进行优化

4. 淘汰策略

  1. 从设置过期时间的数据中,删除最近用的最少得数据

  2. 从数据集中,删除最少使用的

  3. 从设置过期时间的数据中,删除任意数据

  4. 从数据集中,删除任意数据

  5. 删除马上要过期的

  6. 不删除数据

5.集群

5.1 主从模式

有一个master和多个从节点组成,支持读写分离,读数据可以从从节点读取,写数据还是由master节点完成,并且同步给其他从节点,缺点是主节点挂后需要手动切换主节点。

  • 全量复制,当有一个从节点加入时,会把主节点的所有数据全量同步过去。
  • 增量复制,主节点写入数据时,会同步给其他从节点。
  • 心跳检测,主节点会定时发送心跳信息来检查连接状态,没有收到从节点的响应就会把这个从节点标记不可用。

5.2 哨兵模式

由一个master、多个从节点和多个哨兵节点组成,哨兵会定时检测主节点,当发现主节点不可用时,会通知其他哨兵,当大多数都认为不可用时,会选举出一个主节点,然后通知其他从节点更换主节点,对比主从模式多了一个自动选举的功能不需要手动切换。

5.3 集群模式

是有多个master节点和从节点组成,每个从节点对应一个主节点,数据也是同步对应主节点的数据,把多个master节点进行分区,每个master节点存储的数据不一样,客户端查询或写数据时,把key通过一些运算然后取模得到一个数字,然后就知道是分到哪个区的,来决定他存在哪个matser;其实有点像mysql的分库有点异曲同工之妙,这种方式可以提高redis的瓶颈,之前两种集群只保证了高可用,但是写数据只有一台机器的瓶颈,集群模式有多个master还可以随意水平扩展。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值