- 博客(14)
- 资源 (12)
- 收藏
- 关注
原创 Redis数据结构(三)——字符串对象、列表对象、hash对象、集合对象、有序集合对象
在前面的内容里,介绍了Redis用到的主要数据结构字符串、双端链表、字典、压缩链表、整数集合等。Redis基于这些数据结构构建了一个对象系统,这个系统包含字符串对象、列表对象、哈希对象、集合对象和有序集合对象。本文将介绍对象系统的机制。1. 对象类型和编码Redis对象由server.h中的redisObject结构表示:typedef struct redisObject { unsigned type:4; unsigned encoding:4; unsigned lru
2021-05-07 15:08:49
200
原创 Redis数据结构(二)跳表、整数集合、压缩列表
Skip List跳表是一种有序数据结构,Redis使用跳表作为有序集合键的底层实现之一。redis6.0的代码中,跳表结构由server.h中定义,其中zskiplistNode表示跳表节点,zskiplist保存跳表节点相关信息,比如节点数量,以及指向表头电点和表尾节点的指针等。上图左侧是zskiplist结构。其中header、tail表示头尾节点。level记录目前表内,层数最大的节点层数(不计算头结点)。length记录跳表长度,表示目前包含节点的数量(不计算头结点)。跳表节点type
2021-05-06 16:06:33
346
原创 Redis数据结构(一)字符串SDS、双端链表、字典
SDS特性1、常数时间获取长度2、杜绝缓冲区溢出,当连接字符串后长度超过buf实际长度,会预先扩展空间。3、空间预分配。当对SDS修改并且需要扩展空间时,SDS为预分配双倍字符串长度的空间(len < 1MB)。例如,当前sds长度为13,修改后len = 13,free = 13,buf实际长度为13 + 13 + 1 = 27(包括\0)。如果sds修改后len大于等于1MB,程序则分配1MB的未使用空间。例如,修改后len = 30MB,则buf的时间长度为30MB + 1MB +
2021-04-30 16:50:02
222
2
转载 快速理解脏读、不可重复读、幻读和MVCC
转载自https://cloud.tencent.com/developer/article/1450773
2021-04-26 15:33:15
181
原创 Raft简述
前言本文主要参考于Raft论文《In Search of an Understandable Consensus Algorithm》和中文译文。也参考了一些同道写的博客。Raft 是一种为了管理复制日志的一致性算法。Raft实际是Multi-Paxos的变种,它强化了Multi-Paxos中的Leader地位,限制了追加日志必须是连续的。为了提升可理解性,Raft 将一致性算法分解成了几个关键模块,例如领导人选举、日志复制和安全性。同时它通过实施一个更强的一致性来减少需要考虑的状态的数量。定义状
2021-04-20 20:48:22
404
原创 C++进制转换、字符串转数字
前言在笔试中,经常会用到进制转换,学会运用C++的库函数会节省很多时间。本文介绍二进制、十进制、十六进制及字符串的相互转换方法。代码#include <bits/stdc++.h>using namespace std;int main(){ int decNum = 255; /* 10进制转2进制 */ bitset<32> a(decNum); cout << a <<endl; /* 000000000
2021-04-20 20:37:28
652
原创 求给定字符串回文子串的个数
#include <bits/stdc++.h>using namespace std;int dp[50][50];string str = “abbcbdffd”;//中心法int func1(string s){int n = s.length();if(n==0)return 0;int res = 0;for(int i=0; i<n; ++i)...
2019-11-06 10:20:32
977
原创 单例模式(C++)以及共享问题
//单例模式class Single{private: Single(){}//构造函数私有public: static Single * GetInstance()//使用静态函数创建对象 { if (my_instance == nullptr) { my_instance = new Single(); static DeleteObj d1; } ...
2019-10-31 10:09:23
338
原创 C++11 多线程并发编程,thread,lock,lock_guard,unique_lock使用
0、thread的成员函数myjob.join();//阻塞主线程,使得子线程执行完毕之后再执行主线程。myjob.detach();//解除主线程与子线程的关系,两者独立执行,主线程执行完毕后会自动退出。joinable();//用于检测线程是否joinablejoinable : 代表该线程是可执行线程。not-joinable :通常一下几种情况会导致线程成为not-join...
2019-10-31 10:04:57
1105
原创 各种排序算法C++实现
#include <iostream>#include <algorithm>#include <vector>using namespace std;//插入排序void InsertSort(int* num, int len){ for(int i=0; i<len-1; i++) { for(int j...
2019-10-21 13:44:50
147
原创 SQL Server 2017 && SSMS && SSDT 安装教程
1、SQL Server 2017 Dev版本、SSMS、SSDT下载2、以上软件安装过程3、SQL Server完全卸载过程4、多维数据库建模
2019-02-27 14:06:09
6406
原创 Lasy Maintenance of MV ——SQL server物化视图的懒惰更新
摘要本篇文章利用行级版本控制实现了lazily视图更新,也可以根据根据查询来立即维护视图。贡献点 1)对用户透明的视图维护方法 2)利用行版本控制提供视图更新的表达式 3)合并多个维护任务并消除其中的冗余更新任务 4)系统空闲周期维护优先级队列的维护任务,查询到来可立即更新。 5)SQL server 实现version store的关键特性是,给定事务序列号TXSN和语句号ST...
2018-11-21 17:02:33
119
原创 fabric手动多机部署
网络中有1个orderer节点,4个组织,每个组织各有1个节点。 名称 ip 节点Hostname Organization Server 1 10.11.6.118 orderer.example.com ...
2018-08-29 10:36:27
633
原创 Alibaba的OceanBase数据库环境配置与安装
声明:我参考github上面的OB官方文档来配置本地的OB环境,因为已经拥有集群,所以我只安装了OB数据库和C客户端,并没有搭建服务器。网站如下:https://github.com/alibaba/oceanbase/tree/master/oceanbase_0.4一、系统环境CentOs 6.5 g++ 4. 1.2二、准备安装环境在安装OceanBase前,请先根据磁盘规划和服务器
2017-10-16 16:29:14
20116
1
kettle依赖包.rar
2019-11-06
深入理解MYSQL完整版.rar
2019-05-31
Efficient in-memory indexing with Generalized Prefix trees.pptx
2019-05-31
数据库百科全书Encyclopedia of Database Systems.rar
2019-05-31
Design Principles for Scaling Multi-core OLTP Under High Contention.pptx
2019-05-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人