美文网首页
redis的设计与实现学习记录

redis的设计与实现学习记录

作者: 无尘粉笔 | 来源:发表于2020-07-01 20:07 被阅读0次

    redis的学习分为以下几个部分

    第一部分“数据结构与对象”

    redis里面数据库里面的每个键值对都是由对象组成的,其中:数据库键总是一个字符串而数据库建的值可以是字符串对象、列表对象(list object)、哈希对象(hash object)、集合对象(set object)、有序集合对象(sorted set object)这五种中的一种。

    例如:


    image.png image.png image.png image.png image.png

    以上是对基本的新增删除操作

    例如:key和value都是字符串对象

    redis> set msg "hello world"
    OK
    

    而创建多个字符串的时候
    例如为一个key创建5个字符串的值

    redis> set munber 1 2 3 4 5
    (integer) 5
    

    第二部分“单机数据库的实现”

    在以后的学习中,我们会学习到“数据库”对redis的实现原理,服务器保存键值对的过期时间的方法,服务器自动删除过期键值对的方法,“RDB持久化”,“AOF持久化”,还有redis的“事件”(文件的事件主要应答客户的连接请求,接收客户端发送的命令请求,以及向客户端返回命令回复)(时间事件主要是用于执行redis.c/serviceCron函数,这个函数通过执行常规的维护和管理操作保持redis服务器的正常)

    第三部分“多机数据库的实现”

    分为以下三个部分来对redis的复制(replication)、Sentinel、集群(cluster)三个多机进行介绍
    复制对reids的主从复制功能的实现原理进行了介绍。说明了用户从一个指定的服务器复制另一个服务器时候,主从服务器之间执行了什么操作,进行什么数据的交换。。。
    Sentinel对reids Sentinel的实现原理进行了介绍,说明了sentinel监视服务器的方法,sentinel判断服务器是否下线的方法。以及sentinel对下线服务器进行故障转移的方法。。。
    “集群”对redis集群的实现原理的进行介绍,说明了节点构造方法,节点处理命令的请求方法,转发错误的实现方法,各个节点之间进行通信的方法。

    第四部分“独立功能的实现”

    包括了“发布与订阅”对publish、subscribe、pubsub等命令进行介绍。
    事务:对multi、exec、watch等命令的实现原理进行实现原理介绍,解释了redis的事务如何实现。说明了redis的事务对ACID的性质的支持程度
    lua脚本的一些基本命令的原理进行了介绍
    排序对sort的命令以及sort命令的可选项
    慢查询日志:redis创建和保存慢查询日志
    监视器:将客户端变为监视器的方法,以及服务器处理命令请求时向监视器发送命令信息。

    相关文章

      网友评论

          本文标题:redis的设计与实现学习记录

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