Redis概要简述核心要点

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)缓存穿透(现象、应对方式)、无底洞、缓存雪崩(高可用、降级)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ## Generated by install_server.sh ## # Redis configuratio...
    依然饭太稀阅读 2,082评论 0 5
  • 一、Redis高可用概述 在介绍Redis高可用之前,先说明一下在Redis的语境中高可用的含义。 我们知道,在w...
    空语阅读 1,616评论 0 2
  • NOSQL类型简介键值对:会使用到一个哈希表,表中有一个特定的键和一个指针指向特定的数据,如redis,volde...
    MicoCube阅读 4,091评论 2 27
  • 1.1 资料 ,最好的入门小册子,可以先于一切文档之前看,免费。 作者Antirez的博客,Antirez维护的R...
    JefferyLcm阅读 17,149评论 1 51
  • 第5组10月13日周会议 会议主题:阅读习惯 会议时间: 10月13号星期日早上6:00-7:00 会议地点:YY...
    六安姐阅读 127评论 0 0