摘要:
前言 上周看了一篇。你一直在用的Spring Boot Starters究竟是怎么回事(https://www.cnblogs.com/fengzheng/p/10947585.html) 感觉终于把所有知识都串在一起了,可能还有些地方比较朦胧,但真相感觉就在眼前,只是随时时间的推移罢了。 Star 阅读全文
摘要:
什么是主从复制 Redis的主从复制机制是指可以让从服务器(slave)能精确复制主服务器(master)的数据,如下图所示: 或者 主从复制的方式和工作原理 工作方式: Redis主从复制主要有两种模式:完整重同步(full resynchronization)和部分重同步(partial res 阅读全文
摘要:
前言 Redis 并没有直接使用数据结构来实现键值对数据库, 而是基于这些数据结构创建了一个对象系统, 这个系统包含字符串对象、列表对象、哈希对象、集合对象和有序集合对象这五种类型的对象, 每种对象都用到了至少一种我们前面所介绍的数据结构。 通过这五种不同类型的对象, Redis 可以在执行命令之前 阅读全文
摘要:
前言 当我们在Redis数据库中set一个KV的时候,这个KV保存在哪里?如果我们get的时候,又从哪里get出来。时间复杂度,空间复杂的等等,怎么优化等等一系列问题。 服务器中的数据库 Redis服务器将所有数据库信息都保存在redis.h##redisService结构体中。代码如下: 列了几个 阅读全文
摘要:
前言 字典, 又称符号表(symbol table)、关联数组(associative array)或者映射(map), 是一种用于保存键值对(key-value pair)的抽象数据结构。 在字典中, 一个键(key)可以和一个值(value)进行关联(或者说将键映射为值), 这些关联的键和值就被 阅读全文
摘要:
前言 链表提供了高效的节点重排能力, 以及顺序性的节点访问方式, 并且可以通过增删节点来灵活地调整链表的长度。 作为一种常用数据结构, 链表内置在很多高级的编程语言里面, 因为 Redis 使用的 C 语言并没有内置这种数据结构, 所以 Redis 构建了自己的链表实现。 大家可以把Redis的链表 阅读全文
摘要:
前言 Redis 没有直接使用 C 语言传统的字符串表示(以空字符结尾的字符数组,以下简称 C 字符串), 而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的抽象类型, 并将 SDS 用作 Redis 的默认字符串表示。 个人感觉SDS类似于Java的Arr 阅读全文
摘要:
1.介绍 BloomFilter(布隆过滤器)是一种可以高效地判断元素是否在某个集合中的算法。 在很多日常场景中,都大量存在着布隆过滤器的应用。例如:检查单词是否拼写正确、网络爬虫的URL去重、黑名单检验,微博中昵称不能重复的检测。在工业界中,Google著名的分布式数据库BigTable也用 了布 阅读全文
摘要:
一. 函数式编程 Java8所有的新特性基本基于函数式编程的思想,函数式编程的带来,给Java注入了新鲜的活力。 下面来近距离观察一下函数式编程的几个特点: 函数可以作为变量、参数、返回值和数据类型。 基于表达式来替代方法的调用 函数无状态,可以并发和独立使用 函数无副作用,不会修改外部的变量 函数 阅读全文
摘要:
String 可以特别明显的看出。String是final类型,不可被继承。同时底层的数据结构--数组,也是final不可变的。 StringBuilder 同样可以看出,StringBuilder不同于String,char数组是非final类型,可被修改。 StringBuffer 他是安全版的 阅读全文