Redis

名字引用规则

在第一次应用Redis源代码文件file中的名字name时,本书使用file/name格式,比如redis.c/main 表示redis.c文件中的main函数,而redis.h/redisDb则表示redis.h文件中的redisDb结构,

另外,在第一次应用标准库头文件file中的名字name时,本书使用<file>/name格式,比如<unistd.h>/write表示unistd.h头文件的write函数,而<sudio.h>/printf则表示stdio.h头文件的write函数,而<stdio.h>/printf则表示stdio.h头文件的printf函数,

在第一次引用某个名字之后,本书就回去掉名字前缀的文件名,直接使用名字本身.举个例子.当第一次引用redis.h文件的redisDb结构的时候,会使用redis.h/redisDb格式,而之后再次引用redisDb结构时,只使用redisDb.



结构引用规则

本书使用struct.property格式来引用struct结构的property属性,比如redisDb.id表示redisDb结构的id属性,而redisDb.expires则表示redisDb结构的expires属性



Cluster群集一般来讲有四个功能

  1. 冗余功能,就是说在这个群集中的任何一台机器出现本机或网络故障时,整个网络仍不中断,对外的服务也不中断,网络有多个路线可以走,服务器也可以相互代替。
    2.负载均衡,就是当网络流量很大时。少量的服务器可能响应不过来,这时需要多台服务器为其分担处理。打个比方:一台IA服务器的处理能力是每秒几万个,显然无法在一秒钟内处理几十万个请求,但如果我们能够有10台这样的服务器组成一个系统,如果有办法将所有的请求平均分配到所有的服务器,那么这个系统就拥有了每秒处理几十万个请求的能力。
  2. 协商处理,这种方案的原理是客户请求会同时被所有的节点所接收,然后所有节点按照一定的规则协商决定由哪个节点处理这个请求。此种方案中比较显著的特点就是整个集群中没有显著的管理节点,所有决定由全体工作节点共同协商作出。
    4。流量分发,原理是所有的用户请求首先到达集群的管理节点,管理节点可以根据所有服务节点的处理能力和现状来决定将这个请求分发给某个服务节点。当某个服务节点由于硬件或软件原因故障时,管理节点能够自动检测到并停止向这个服务节点分发流量。这样,既通过将流量分担而增加了整个系统的性能和处理能力,又可以很好的提高系统的可用性。