Redis 笔记

主要数据格式:string list hash set socte set 
实战key:”用户名:id”:” value”
数据持久化:aof rdb 
Aof:保存操作指令,文件较大,恢复比较慢,可以支持毫秒级不丢失数据,用户误操作    删除数据,直接删除最后一行的操作,默认不开启。
Rdb:数据形式保存,恢复快,但是服务器宕机会丢失数据,支持手动保存但是会时常比    较久。
淘汰机制:默认返回错误不淘汰数据,有8种淘汰机制,一般使用近似LRU最少使用淘汰    原则,随机挑选几个使用使用最少的 ,淘汰其中最近没有被使用的一个,4.0以后新增    LFU,增加一个使用频率计算,使用key的最近使用时间已经使用次数计算频率淘汰,    可以保证冷数据最近被使用一次不会被当成热数据保存下来;
缓存雪崩:主要指大批量数据到期,查询数据量巨大数据量压力太大导致宕机,
解决方案:
均匀过期:为数据设置过期时间使用随机数据,或者自定义规律过期时间
加互斥锁:为新增缓存数据增加锁,同时只能有一个线程访问数据库
缓存永不过期:增加一个守护线程定时为数据刷新缓存过期时间
双层缓存策略:增加主备缓存
缓存预热:主要针对大型数据第一次上线在启动就初始化,避免上线直接导致数据              崩溃,减少流量压力。
缓存降级:默认缓存失效过去缓存服务器挂掉,不去访问数据库,直接返回默认值
  或者访问服务的内存数据。降级操作属于有损操作,尽量减少对业务影      响。
哨兵:通过哨兵模式管理主从,通过心跳检测判断主服务器是否正常,需要多个哨兵单个哨      容易误判。再选举出领导者,进行替换操作。领导者选举算法--Raft 算法。
常用客户端:jedis redisson lettuce
Jedis:提供了比较全面的Redis命令的支持,比较全面的redis操作特性
Redisson: 实现了分布式和扩展的Java数据结构
Lettuce:高级redis客户端,用于线程安全同步,异步的响应使用,支持集群,sentinel,            管道和编码器
心跳机制:
Sentinel与Redis Node:
Redis Sentinel 是一个特殊的 Redis 节点。在哨兵模式创建时,需要通过配置指定         Sentinel 与 Redis Master Node 之间的关系,然后 Sentinel 会从主节点上获取所有从节    点的信息,之后 Sentinel 会定时向主节点和从节点发送 info 命令获取其拓扑结构和状    态信息。
     Sentinel与Sentinel:
基于 Redis 的订阅发布功能, 每个 Sentinel 节点会向主节点的 sentinel:hello 频道    上发送该 Sentinel 节点对于主节点的判断以及当前 Sentinel 节点的信息 ,同时每个     Sentinel 节点也会订阅该频道, 来获取其他 Sentinel 节点的信息以及它们对主节点的    判断。
 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值