Redis知识体系总结
2021-05-01 13:20:17 0 举报
AI智能生成
Redis知识体系总结从基础应用到精通
作者其他创作
大纲/内容
高可用集群
集群模式
哨兵模式
集群模式
主从复制
RDB 异步复制 性能高 数据弱一致性
AOF
使用命令 RE
主从复制过程
AKF原则
单节点问题
单点故障
主备
主从
数据量扩展
集群
并发量问题
集群 读写分离
缓存击穿、穿透、雪崩
击穿
穿透
雪崩
基础原理
内存操作
epoll
所有数据结构都存在排序索引:正排索引 反向索引
回收策略
noeviction
allkeys-lru
volatile-lru
allkeys-random
volatile-random
volatile-ttl
Key有效期设置
主动淘汰过期key
被动淘汰过期key
过期判断原理
回收算法
LRU算法 碰了多少次
LFU算法 多久没有操作
实战应用
分布式ID
实现方案
常见问题
分布式锁
实现方案
常见问题
队列
秒杀
使用set数据类型进行抽奖 spop随机抽取元素命令
基础类型
字符串
str
set
get
strlength
数值
setNX
setXX
incr
DECR
二进制安全
bitmap
二进制位索引
setbit
getbit
位运算bitop
bitmap 运用
bitcount 统计为1的总数
set
set不重复,无序
spop 随机抽取
sRandMember 用于返回集合中的一个或者多个随机元素。
hash
自增HINCRBY
批量插入 hsetkeys
increment 自增值 可以为负数
sorted
ZADD 添加有序元素默认按左小右大物理内存排序
ZRANGE
ZRANGEBYSCORE
如何排序
List
栈操作
lpop & rpop
lpush & rpush
LRANGE 根据偏移量获取数据元素
数组
lindex 根据下标索引获取元素值
lrem 移除元素
LINSERT 根据下标插入数据
阻塞队列 单播队列 FIFO
BLPOP 阻塞弹出元素
BRPOP 阻塞弹出元素
ltrim start end 删除头尾元素
持久化
RDB 全量日记持久化
save 阻塞 关机维护的时候使用这种方式
bgsave 异步 触发fork() 创建子进程
在60秒内操作10000次会触发RDB 在300秒内修改了10次也会触发rdb 在900秒内只操作了一次写操作会触发
弊端
不支持拉链 日期拉链 不覆盖不更新
不能保证数据的高可用性(丢失数据相对多)
AOF 增量记录持久化
appendfsync always #每次有数据修改发生时都会写入AOF文件。
appendfsync everysec #每秒钟同步一次,该策略为AOF的缺省策略。
appendfsync no #从不同步。高效但是数据不会被持久化。
事务
原理:Redis的 MULTI,DISCARD,EXEC,WATCH等命令来支持事务。
Redis对事物 ACID特性的支持
原子性(Atomicity)
描述原子性(Atomicity)
实现原理
一致性(Consistency)redis 不保证数据一致性
隔离性(Isolation)-redis 使用单线程模式保证隔离性
持久性(Durability) AOF RDB保证数据持久性
AFK原则
收藏
收藏
0 条评论
下一页