Redis内容总结

作者: Oliver_Li | 来源:发表于2021-02-06 14:38 被阅读0次
  • Redis:常用的key-value 数据库,key总是一个字符串对象,value可以是字符串对象列表对象哈希对象集合对象有序集合对象中的一种。
  • 上面的5种类型底层是以6种数据结构实现的。例如列表对象在元素数量少于512个,而且每个元素长度小于64字节时,底层实现就是ziplist,否则就是linkedlist。其他几种基本类型也是这样,在不同情况下会使用不同的基础结构。
  • Redis服务可以概括为多路复用IO + Hash表
    • 多路复用IO:维护客户端并把接收的指令发送到队列,供Redis单线程处理,协议使用Redis自己的RESP。
    • Hash表Hash表贯穿Redis数据的存储,实现和Java的HashMap类似,使用的是头插法。serverCron定时函数辅助维护数据,如删除过期数据等。
  • Redis主要使用内存,数据持久化到磁盘时可选择AOF和RDB,RDB为全量备份,AOF为增量备份,一般都开。
  • 多机部署分为主从、哨兵、集群三种:
    • 主从:主从复制,减缓压力。
    • 哨兵:主从复制,主节点宕机从节点使用raft选举出新主节点,避免服务不可用。
    • 集群:主从复制,常见最小6节点,3主3从,主从可自动宕机替换,采用分槽机制,最常见的使用方式。
  • 主要涉及的算法:
    • 淘汰策略:LRU、LFU
    • 集群分片迁移:hash一致性
    • 集群广播:Gossip
    • 选举:raft

相关文章

网友评论

    本文标题:Redis内容总结

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