- 博客(20)
- 收藏
- 关注
原创 Elasticsearch安装
下载下载ES安装包:https://www.elastic.co/cn/downloads/elasticsearch,建议使用7以下的版本,7以上的不兼容spring-data-elasticsearch。安装创建文件夹es:/usr/local/esmkdir /usr/local/es将文件上传到es文件夹中解压:tar xvf elasticsearch-6.4.2.tar...
2020-02-24 14:55:24 208
原创 Redis事务
一.事务的实现三个阶段:事务开始命令入队事务执行事务队列:以下为例127.0.0.1:6379> MULTIOK127.0.0.1:6379> set "name" "cc"QUEUED127.0.0.1:6379> set "sex" "man"QUEUED127.0.0.1:6379> get "name"QUEUED127.0.0....
2020-02-24 14:45:32 123
原创 Redis发布与订阅
介绍:订阅频道:subscribe "news.sport" "news.movie"退订频道:unsubscribe "news.sport" "news.movie"二.模式的订阅与退订订阅模式:psubscribe "new.*"退订模式:punsubscribe "new.*"...
2020-02-24 14:41:54 104
原创 Redis集群
一.节点cluster meet <ip> <port> //向节点握手cluster nodes //查看集群节点进行节点握手,握手成够后,node节点会将该节点加入到node节点的集群中。节点启动:cluster-enabled 为yes则为集群模式启动节点的数据结构:struct clusterNode{ //创建节点时间 mstime_...
2020-02-24 14:40:26 105
原创 Redis事件
一.文件事件文件事件处理器由四部分组成:套接字I/O多路复用程序文件事件分派器事件处理器事件类型:当套接字为可读时,或者有新的可应答的套接字出现时,套接字产生AE_READABLE事件。当套接字为可写时,套接字产生AE_WRITABLE事件。文件事件的处理器:连接应答处理器。用于对连接服务器监听套接字的客户端进行应答。命令请求处理器。负责从套接...
2020-02-24 14:35:05 99
原创 AOF持久化
一.AOF持久化的实现命令追加当AOF持久化功能打开状态时,服务器在完成一个命令之后,会以协议格式将被执行的写命令追加到服务器状态的aof_buf的缓冲区末尾:struct redisServer{ //AOF缓冲区 sds aof_buf;};AOF文件写入与同步在服务器处理文件事件的时候可能会执行写命令,使得一些命令被添加到aof_buf中。在服务器每次结...
2020-02-24 14:31:31 225
原创 RDB持久化
一.简介为了解决内存数据库数据丢失的问题,所以开发出RDB进行数据持久化。二.RDB文件的创建与载入RDB的保存存在两种命令,SAVE和BGSAVE。其中save是阻塞的,在执行save命令期间,该服务器将不会执行其他命令,直到save命令执行结束。bgsave是非阻塞的,执行bgsave时会创建一个子线程,然后由子线程负责创建RDB文件。redis是没有主动载入RDB文件的命令的,在re...
2020-02-24 14:25:19 78
原创 Redis数据库
一.服务器中的数据库每个redisDb都代表一个数据库,而数据库的数量由服务器的dbnum决定。struct redisServer{ //一个数组,保存redis中所有数据库 redisDb *db; //服务器数据库数量 int dbnum;}二.切换数据库127.0.0.1:6379> set msg "hello world"OK127...
2020-02-24 14:22:17 61
原创 Redis对象
对象结构redisObject结构:typedef struct redisObject { //类型 unsigned type:4; unsigned notused:2; //编码 unsigned encoding:4; unsigned lru:22; //引用计数 int refcount; //指向底层实...
2020-02-24 14:13:54 59
原创 Redis快速列表(quicklist)
127.0.0.1:6379> rpush lst 1 3 5 10086 "hello world"(integer) 5127.0.0.1:6379> OBJECT encoding lst"quicklist"quicklist结构在quicklist.c中的解释为A doubly linked list of ziplists意思为一个由ziplist组成的双向链表。...
2020-02-24 10:23:14 365
原创 Redis整数集合
一.整数集合的实现typedef struct intset{ //编码方式 unit32_t encoding; //集合包含的元素数量 unit32_t length; //保存元素的数组 int8_t contents[];}intset;二.升级当添加新的元素到整数集合中里面,并且新元素的类型比现有元素的类型都要长时,整数集合需要先...
2020-02-24 10:12:33 78
原创 Redis跳跃表
一.实现由zskiplistNode和zskiplist两个结构定义,其中zskiplistNode结构用于跳跃表节点,zskiplist结构用于保存跳跃表节点的相关信息,比如节点数量,表头表尾的节点指针。header:指向跳跃表的表头节点tail:指向跳跃表的表尾节点level:记录跳跃表内,层数最大的那个节点的层数(表头节点层数不计算在内)length:记录跳跃表的长度,也就是包...
2020-02-24 10:08:57 81
原创 Redis字典
哈希表table为一个数组。size为table中数组的大小。sizemask为size-1.used为hash表目前已有节点的数量。字典的结构type属性和privdata属性是针对不同类型的键值对,为创建多态字典而设置的。ht属性是包含两个项的数组,数组中每一个项都是一个dictht哈希表。哈希算法解决键冲突当有两个或两个以上的数量的键b被分配到哈希表数组同一索引时,我们...
2020-02-24 10:04:42 74
原创 Redis链表
1.链表的结构链表节点listNode:list结构:redis链表的特性:双端:链表节点带有prev和next,获取某个节点的前置与后置节点的复杂度都是0(1).无环:表头节点的prev和表未节点的next都指向NULL,对链表的访问以NULL为终点。带表头指针和表尾指针,通过list结构的head和tail,程序获取链表头节点和尾节点的复杂度都是O(1).带链表长度计算器...
2020-02-24 09:59:08 80
原创 简单动态字符串
struct sdshdr{ //记录buf中已使用字节的数量 //等于SDS中所保留字符串的长度 int len; //记录bug中未使用字节的数量 int free; //字节数组,用于保存字符串 char buf[];}2.SDS中buf的空间分配在C中,当对字符串进行操作的时候,会重新读字符串的长度,并重...
2020-02-24 09:53:32 282
原创 RabbitMq在Linux上的安装与部署
安装Erlang环境安装GCC GCC-C++ Openssl等模块,安装过就不需要安装了yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel安装ncursesyum -y install ncurses-devel安装erlang环境wget http://erlang.org/do...
2020-02-23 22:46:50 309
原创 SpringBoot集成RabbitMQ
spring boot版本<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.2.RELEASE</versio...
2020-02-23 22:41:34 145
原创 RabbitMQ介绍
RabbitMQ介绍RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。RabbitMQ主要是为了实现系统之间的双向解耦而实现的。当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层。保存这个数据。AMQP,即Advanced Message Queuing Protoco...
2020-02-23 21:53:02 135
原创 java8Callable与ThreadPoolExecutor数据分段处理
ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, // 1 int maximumPoolSize, // 2 long keepAliveTime, // 3 ...
2019-10-29 14:19:04 691
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人