摘要:背景:分布式环境下,如果获取锁的主节点挂了,数据还没有复制到副本,此时副本成为master, 其他客户端重复获得锁了怎么办? 解决:redlock 原理:https://www.jianshu.com/p/6569ae88f270
阅读全文
摘要:本文来自:https://www.iteblog.com/archives/2499.html 一致性哈希算法(Consistent Hashing)最早在1997年由 David Karger 等人在论文《Consistent Hashing and Random Trees: Distribut
阅读全文
摘要:本文全部来自:https://www.iteblog.com/archives/2505.html gossip 是什么 gossip 协议(gossip protocol)又称 epidemic 协议(epidemic protocol),是基于流行病传播方式的节点或者进程之间信息交换的协议,在分
阅读全文
摘要:名称 解释 解决方案 雪崩 缓存雪崩是指,缓存层出现了错误,不能正常工作了[常见的大量的key 同时失效]。于是所有的请求都会达到存储层,存储层的调用量会暴增,造成存储层也会挂掉的情况。 1 redis高可用 这个思想的含义是,既然redis有可能挂掉,那我多增设几台redis,这样一台挂掉之后其他
阅读全文
摘要:Redis集群主要分为三种模式: 主从模式,Sentinel 模式[哨兵模式],Cluster 模式 主从模式: * 主数据库可以进行读写操作,当读写操作导致数据变化时会自动将数据同步给从数据库 * 从数据库一般都是只读的,并且接收主数据库同步过来的数据 * 一个master可以拥有多个slave,
阅读全文
摘要:前提: CPU 在切换线程的时候,有一个上下文切换时间,而这个上下文切换时间是非常耗时的,eg: 一个CPU主频是 2.6GHz ,这就以为着每秒可以执行2.6*109个指令,每个指令时间就大概是0.38ns,而一次上下文切换耗时2000ms,这个时间内,CPU 什么都干不了,只能保存上下文的动作。
阅读全文
摘要:redis主从复制,是基于集群环境下,有redis 从服务器(slave) 和redis 服务器 (master) 。 基本的机制: 当一个 master 实例和一个 slave 实例连接正常时, master 会发送一连串的命令流来保持对 slave 的更新,以便于将自身数据集的改变复制给 sla
阅读全文
摘要:持久化原因:客套话,redis基于内存的数据库,持久化数据到磁盘上,防止数丢失。 持久化方式:aof 文件追加方式 默认文件名是appendonly.aof。保存路径同 RDB持久化方式一致,通过dir配置指定。AOF的工作流程操作:命令写入 (append)、文件同步(sync)、文件重写(rew
阅读全文
摘要:关于过期有一个标识过期时间的,针对String类型的,有 setex(String key, int seconds, String value)--字符串独有的方式这个命令,其他的数据类型,则有expire key time(以秒为单位) 这个命令去设置过期时间。 redis 的过期策略有一下几种
阅读全文
摘要:首先,redis 内部使用一个redisObject 核心对象来表示所有的 key 和 value, redisObject 里包括这些属性:数据类型--type{String/hash/list/set/sorted set} 编码方式--encoding{raw/int/ht/zipmp/lin
阅读全文