Redis快速入门

基础

Redis常用的数据类型:String、Hash、List、Set、zSet

  • string:set mykey "new-value"

  • list:lpush mylist "foo",可以从左边或右边添加元素,

  • hash:hset website google "www.g.cn"

  • set:sadd myset "hello"

  • sorted set:zadd myzset 2 "two" 3 "three",集合元素按score进行有序排序,可以做排行榜

过期数据删除策略:

  • volatile-lru(least recently used):从设置过期时间的数据中挑选最近最少使用的数据淘汰
  • volatile-random:从设置过期时间的数据中任意选择数据淘汰
  • allkeys-lru(least recently used):在键空间中移除最近最少使用的 key(这个最常用)
  • allkeys-random:从数据集中任意选择数据淘汰

缓存穿透:
简单点就是大量请求的 key 根本不存在于缓存中,导致请求直接到了数据库上,根本没有经过缓存这⼀层,解决办法:做好参数校验

缓存雪崩:
缓存雪崩是指缓存同一时间大面积的失效,所以,后面的请求都会落到数据库上,造成数据库短时间内承受大量请求 ,热点缓存失效解决方案:设置不同的失效时间比如随机设置缓存的失效时间

持久化

Redis 提供了两种持久化机制:AOF和RDB

AOF:
以日志的方式记录每次写命令,并在 Redis 重启时重新执行 AOF 文件中的命令以达到恢复数据的目的. AOF重写,只保留最后一次的修改记录,防止文件过大. AOF采用的是先执行命令,后写日志的方式,只记录执行成功的命令,避免出现记录错误命令的情况

RDB:
在指定的时间间隔内将内存中的数据以二进制文件的形式写入磁盘,Redis提供了save和bgsave命令生成.rdb文件,save命令执行时会阻塞主线程,bgsave命令会创建一个子线程写入.rdb 文件,避免了对主线程阻塞

1.png

高可用

实现高可用主要有三种方式:主从复制、哨兵模式,以及 Redis 集群

主从复制:将从前的一台 Redis 服务器,同步数据到多台从 Redis 服务器上,即一主多从的模式,这个跟 MySQL 主从复制的原理一样

ww.png

哨兵模式

使用 Redis 主从服务的时候,会有一个问题,就是当 Redis 的主从服务器出现故障宕机时,需要手动进行恢复,为了解决这个问题,Redis 增加了哨兵模式(因为哨兵模式做到了可以监控主从服务器,并且提供自动容灾恢复的功能)

1.png

Redis 集群

使用哨兵模式在数据上有副本数据做保证,在可用性上又有哨兵监控,一旦 master 宕机会选举 salve 节点为 master 节点,这种已经满足了我们的生产环境需要,为什么还需要使用集群模式呢?

哨兵模式归根节点还是主从模式,在主从模式下我们可以通过增加 salve 节点来扩展读并发能力,但是没办法扩展写能力和存储能力,存储能力只能是 master 节点能够承载的上限,所以为了扩展写能力和存储能力,我们就需要引入集群模式

1.png1.png

相关文章

Redis夺命十二问,差点没抗住! (qq.com)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值