美文网首页
Redis概要简述核心要点

Redis概要简述核心要点

作者: levi912 | 来源:发表于2020-01-16 14:04 被阅读0次

1.基础:默认16个数据库,协议RESP

1)Redis数据结构类型(5)、每种类型内部编码、命令(Object encoding)

String:内部编码(int8、embStr39字节、raw),最大512M、中文3个字节、命令(set ex|px nx|xx、get、del、exists、mget、mset、incr、incrby、decr)
Hash:内部编码(ziplist(512个,64字节)、hashtable)、命令(hget、hset、hdel、hmget、hmset、hexist、hkeys、hgetall、hincrby)
List:内部编码(ziplist(512,64)、linkedlist、quicklist)、最多2-32-1、命令(rpush、lpush、linsert、lrange、lindex、llen、lpop、rpop、lrem、ltrim、lset、blpop、brpop)
Set:内部编码(intset512、hashtable)、最多2-32-1、命令(sadd、srem、scard、sismember、smembers、并集差集)
Zset:内部编码(ziplist(128,64)、skiplist)、命令(zadd、zscore、zrank、zrem、zincrby、zrange、并集差集)
备注:<type>-max-ziplist-entries、<type>-max-ziplist-value

通用命令:type、del、object、exists、expire、rename

键过期:expire、expireat、pexpire、pexpireat、ttl、pttl、persist

迁移:move、dump+restore、migrate

遍历:keys阻塞、scan

2)为什么快:单线程,纯内存,IO多路复用

2.其他:

1)慢查询:参数slowlog-log-slower-than=10ms、slowlog-max-len=128

2)事务:multi、exec、discard、watch,命令语法错误,运行时错误

3.持久化:

1)类型:RDB和AOF

RDB:
a)RDB:概述、触发机制、自动触发方式(4)、优缺点(2+2)

 b)bgsave:运作流程

AOF:
a)概述、如何开启、工作流程(大头文件同步、aof重写)

b)AOF缓冲区同步文件策略(3)

c)AOF中重写机制:重写工作流程、变小(3)、自动触发条件(auto-aof-rewrite-min-size=64M、auto-aof-rewrite-percentage)、重启加载

d)AOF刷盘策略everysec流程

4.复制:

1)建立复制、断开复制、配置从节点只读方式、传输问题(延迟参数repl-disable-tcp-nodelay)、拓扑

2)复制原理:流程图(6)

a)ping操作、失败情况

b)同步数据集:全量复制(命令、流程、失败情况、Ping repl-timeout=60s、客户端缓冲区client-output-buffer-limit slave 256MB64MB60、发生情况)、部分复制(原因、流程、repl-backlog-size=1M)、其他概念(复制偏移量、复制积压缓冲区)、

3)心跳(2种)、判定下线参数repl-timeout=60s

5.阻塞:

1)内因:不合理API或数据结构(慢查询、大对象)、CPU饱和、持久化阻塞(3种)

2)外因:CPU竞争、内存交换、网络阻塞(最大连接数、最大打开文件数、backlog)

6.内存:

1)内存消耗:统计参数、内存消耗划分(4种、缓存内存(3、2个参数))

2)内存管理:最大内存设置、内存回收策略(过期键(2)、内存溢出控制策略(6))

3)内存优化:缩减键值大小、共享内存池、字符串优化(结构、特点、预分配机制)

7.哨兵 Redis Sentinel:

1)拓扑结构、部署配置核心点、启动方式

2)实现原理:三个定时任务(10,2,1)、主客观下线、领导选举(Raft算法)、故障转移(选取主节点方法(4))

8.集群:Redis Cluster

1)基础理论:虚拟槽分区(0-16383)、分区计算公式slot=CRC16(key)&16383、缺陷(5)

2)节点握手(P2P的Gossip协议)、命令(cluster meet、ping、pong、fail、addslots、replicate)

3)官方工具:redis-trib.rb、命令(create、add-node、forget)

4)通信发送节点选择:每秒10次间隔1秒

9.缓存设计:

1)缓存穿透(现象、应对方式)、无底洞、缓存雪崩(高可用、降级)

相关文章

网友评论

      本文标题:Redis概要简述核心要点

      本文链接:https://www.haomeiwen.com/subject/ebufzctx.html