集群
文章平均质量分 55
换个昵称都难
对音视频编解码、流媒体、图像变换,人脸识别等相关技术感兴趣,欢迎大家相互学习一起交流
展开
-
redis源码解析-基数统计算法-hyperloglog(6.2.3版本)
1,hyperloglog原理 hyperloglog是一种基数统计算法,具体原理请大家自行百度,里面涉及到具体的数学知识,我不在这里描述,也讲不清楚。 hyperloglog原理具体大家可以参考https://zhuanlan.zhihu.com/p/58519480https://blog.csdn.net/firenet1/article/details/77247649https://blog.csdn.net/zanpengfei/article/details/...原创 2021-08-16 19:19:26 · 188 阅读 · 0 评论 -
redis源码解析-跳表-skiplist(6.2.3版本)
跳表,是redis中的一中链表数据结构,能够提高链表的查询效率。使用跳表,可以避免遍历一些不必要的节点,从而提高了查询,删除,插入的效率。1,跳表结构体typedef struct zskiplistNode { sds ele;//节点元素,字符串 double score;//元素分数,在跳表中按照该分数排放 struct zskiplistNode *backward;//上一个节点 struct zskiplistLevel { struct原创 2021-08-07 13:29:26 · 219 阅读 · 0 评论 -
redis源码解析 动态字符串- sds (6.2.3版本)
redis封装了C语言的字符串形成动态字符串(SDS)机制,SDS与纯C字符串对比为:C字符串 SDS 获取长度O(n) 获取长度O(1) API不安全,可能造成缓冲区溢出 API安全,不会造成缓冲区溢出 不能操作二进制字符串,容易被截断 能操作二进制字符串 不能扩容,只能深拷贝另外一个缓存区域扩容 能动态扩容,而不用深拷贝字符串 修改字符串效率低 修改字符串效率高 1,sds数据结构...原创 2021-08-05 15:39:29 · 161 阅读 · 0 评论 -
redis源码解析 hash字典- dict (6.2.3版本)
hash字典,kv存储,用于快速查询,redis中的源码为 dict.h和dict.c, redis hash字典采用渐进式hash实现,具体渐进式hash,请搜索相关博文阅读。redishash字典的结构体声明typedef struct dictEntry {//字典实体节点 void *key; //字典实体节点key union { void *val; uint64_t u64; int64_t s64; .原创 2021-08-04 15:58:15 · 280 阅读 · 0 评论 -
redis 源码解析 双向链表-adlist(6.2.3版本)
adlist,双向链表,相对比较简单的结构体。 节点指针定义为void* value 就是为了能够通用,有用户定义自己的结构体模型,该指针只用指向malloc的指针地址即可;双向链表结构体中的指针函数,也只是为了方便用户自定义进行释放,比较,复制。在实际使用中,可以根据需要扩展双向链表的查询。//双向链表结构体typedef struct listNode {//list节点 struct listNode *prev;//前一个节点 struct listN...原创 2021-08-02 21:20:22 · 150 阅读 · 0 评论 -
构建负载均衡服务器之一 负载均衡与集群详解
转载于http://blog.51cto.com/linuxnote/1654565一、什么是负载均衡 首先我们先介绍一下什么是负载均衡: 负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。这是来自维基百科的转载 2017-12-01 10:31:09 · 1167 阅读 · 0 评论 -
构建负载均衡服务器之二 LVS详解及应用
转载于:http://blog.51cto.com/linuxnote/1654750 在上一篇中介绍了负载均衡及集群的原理,本篇主要介绍下下实现负载均衡的软件之LVS的原理及应用。一、LVS的介绍1、 LVS的定义一般来说,LVS采用三层结构:负载调度器、服务器池、共享存储。工作在TCP/IP协议的四层,其转发是依赖于四层协议的特征进行转发的,由于其转发要依赖于协议的转载 2017-12-01 10:33:43 · 514 阅读 · 0 评论