配色: 字号:
REDIS
2020-09-30 | 阅:  转:  |  分享 
  
2020-09-30演讲人REDIS01数据结构02对象目录03对象类型与编码04事件05其他功能06数据库07客户端08服务器01数据结
构SDS(Simpledynamicstring)简单动态字符串structlenfreebuf空间预分配惰性空间释
放二进制安全数据结构P4P3监视器P2慢查询P1链表发布订阅列表字典数据库1哈希键23哈希表作为底层实现键的哈希值和索引
值做映射rehash(重新散列)数据结构跳跃表有序集合AB数据结构集合键动态升级整数集合AB数据结构列表键哈希键压缩列表02对象
对象基于REDIS数据结构创建的对象系统REDIS根据对象类型执行对象命令实现基于引用计数的内存回收和对象共享字符串对象列表对象
哈希对象对象集合对象有序集合对象03对象类型与编码对象类型与编码REDIS_STINGREDIS_LIST类型REDIS_ZSE
TREDIS_SETREDIS_HASH编码REDIS_ENCODING_RAWREDIS_ENCODING_INTREDIS_
ENCODING_HTREDIS_ENCODING_EMBSTRREDIS_ENCODING_LINKEDLISTREDIS_EN
CODING_ZIPLIST编码REDIS_ENCODING_INTSETREDIS_ENCODING_SKIPLIST编码R
EDIS_ENCODING_INTlong类型的整数编码REDIS_ENCODING_EMBSTRembstr编码的简单字符串编
码REDIS_ENCODING_RAW简单动态字符串编码REDIS_ENCODING_HT字典编码REDIS_ENCODIN
G_LINKEDLIST双链列表编码REDIS_ENCODING_ZIPLIST压缩列表编码REDIS_ENCODING_IN
TSET整数集合编码REDIS_ENCODING_SKIPLIST跳跃表和字典04事件文件事件服务器对套接字操作的抽象处理器连
接应答处理器命令请求处理器命令回复处理器对给定时间点操作的抽象定时事件事件时间事件周期性事件05其他功能其他功能发布与订阅事务LU
A脚本SORT慢查询日志MONITOR其他功能发布与订阅命令命令PUBSUBCHANNELS、PUBSUBNUMSUB、PUB
SUBNUMPAT例子PUBLISH、SUBSCRIBE、UNSUBSCRIBE、PSUBSCRIBE、PUNSUBSCRI
BESUBSCRIBE‘news.it’PUBLISH‘news.it’‘hello’通过MULTI、EXEC、W
ATCH等命令实现事务功能01ACID通过客户端的事务标识开关实现其他功能0502事务0403WATCH步骤步骤事务开始命令入
队事务执行MULTIEXECWATCH乐观锁在命令执行前,监视任意数量的数据库键,如果键值被修改,则拒绝执行事务原子性多个操作作
为整体执行不支持回滚与redis的设计理念有关ACID一致性ACID隔离性多个事务并发执行需要持久化模式事务执行后数据已保存在存
储介质里BACID持久性A其他功能LUA脚本命令命令SCRIPTFLUSH、SCRIPTEXISTS、SCRIPTLOAD、
SCRIPTKILL其他功能SORT排序排序0102SORT<key>ASC、DESCslowlog-log-
slower-thanslowlog-max-len其他功能慢查询日志命令超时时间slowlog-log-slower-th
anslowlog-max-len慢查询日志条数命令SLOWLOGGET查询慢查询日志其他功能MONITOR监视器命令,试
试接收并打印服务器处理的请求命令06数据库数据库切换数据库selectDB数组01dbnum02RedisDBdbdict0
3键空间键空间操作TTL、PTTL返回剩余生存时间100%PERSIST移除过期时间73%EXPIREAT、PEXPIREAT
设置过期时间68%EXPIRE、PEXPIRE、SETEX设置生存时间44%flushdb、dbsize、EXISTS、RENAM
E、keys21%添加、删除、更新、取值15%过期键的删除策略定期删除定时删除确定删除操作的时长和频率通过定时器定时删除惰性
删除在取出键时进行过期检查和删除持久化RDBSAVE、BGSAVE自动间隔性保持配置:save根据RDB数据结构序列化AO
FBGREWRITEAOF记录写操作命令命令追加AOF重写07客户端客户端02redisClient01REDIS服务器使用单
线程单进程处理命令请求套接字描述符名字输入输出缓冲区标志值flag正在使用的数据库指针当前要执行的命令、命令参数、参数个数、以及
指向命令实现函数的指针客户端redisClient客户端0102复制状态信息事务状态及watch命令数据结构redisClien
t030405发布订阅时用的数据结构身份验证标志创建时间、最后一次通信时间08服务器服务器ABC复制Sentinel集群服务器
SLAVEOF同步复制心跳检测复制偏移量命令传播复制SLAVEOF同步将从服务器数据库状态更新至主服务器当前的数据库状态SYNC命
令发送写命令BGSAVE发送RDB缓存写命令同步SYNC命令从服务器向主服务器发送SYNC命令同步BGSAVE主服务器通过
不BGSAVE存储当前的记录写到RDB同步发送RDB主服务器将RDB发送给从服务器从服务器加载RBD同步缓存写命令主服务器记录
RDB同时缓存写命令同步发送写命令主服务器持续发送写命令从服务器执行写命令复制命令传播主服务器将引起主从不一致的命令发送给从服务器
,从服务器执行此命令,使数据再次一致复制复制偏移量复制偏移量链接状态复制心跳检测检测命令丢失高可用性的解决方案启动命令sen
tinel是一个特殊模式的REDIS服务器监控故障转移服务器SentinelSentinelsentinel是一个特殊模式的RED
IS高可用性的解决方案服务器监控启动命令故障转移Sentinel010203redis-sentinelsentinel.co
nfSLAVEOFIPSLAVEOFnoone从机转主机启动命令Sentinel不使用REDIS的基础操作命令创建连
向主服务器的连接C维护监控主服务器列表Bsentinel是一个特殊模式的REDISASentinel服务器监控监视任意多个主服务器
及主服务器下的所有从服务器Sentinel故障转移在主服务器下线时提升从服务器为主服务器LOGO服务器ABC分布式数据库方案命
令槽指派(slot)集群DEFCLUSTERADDSLOTSMOVED错误重新分片https://www.wps.cn服务器
集群设置从节点集群分布式数据库方案通过分片进行数据共享命令LUSTERMEET(ip)(port)连接各个节点集群
槽指派(slot)共16384个槽集群CLUSTERADDSLOTS将多个槽指派节点集群MOVED错误数据读写时根据槽值判断是否属于本集群,不属于则返回moved错误并纠正槽服务器增加集群节点重新制定槽所属节点B集群重新分片A集群设置从节点REPLICATE(node_id)感谢聆听
献花(0)
+1
(本文系职场细细品原创)