
redis
吃饭睡觉胖胖胖
没有感情的码字机器
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
redis 系列——5、跳跃表
概述上篇博客我简单介绍了 redis 字典的实现原理,本篇博客我打算整理 redis 跳跃表实现原理。关于抽象概念跳跃表相关知识可以 点击这里 查看我之前的博客。跳跃表跳跃表有一种 有序 数据结构,它通过在每个节点中维护多个指向其他节点的指针达到快速访问的目的。跳跃表查询的平均复杂度为 O(log n),最坏复杂度为 O(n)。在大多数情况下,它的效率和平衡树差不多,但技术难度上跳跃表相比平衡树简单许多。目前绝大多数程序使用跳跃表代替平衡树。redis 使用跳跃表作为有序集合键(zSet)的实现原创 2020-07-15 17:44:19 · 274 阅读 · 0 评论 -
redis 系列——4、redis 字典
概述上篇博客我简单介绍了 redis 哈希表相关知识,本篇博客我打算在哈希表的基础上,简单整理一下 redis 字典的实现原理字典字典又称为符号表、关联数组,映射等,它是一种保存键值对的抽象数据结构。键值对:字典中,一个键可以和一个值进行关联,这些关联的键和值就称为键值对。字典中的键是独一无二的,程序可以在字典中根据键查找与之关联的值,或通过键来更新值,删除值等。...原创 2020-07-07 11:27:38 · 244 阅读 · 0 评论 -
redis 系列——3、redis 哈希表原理
概述上篇博客我简单整理了 redis 中链表的实现原理。本篇博客我打算就哈希类型简单整理一下。redis 数据类型redis 有以下五种常用的数据类型:String:字符串类型Hash:哈希类型list:链表类型set:集合类型zSet:有序集合类型1、哈希表redis 哈希表使用头文件 dict.h 中的 dictht 接口定义:typedef struct dictht { // 哈希表数组 dictEntry **table; // 哈希表大小原创 2020-07-07 10:42:15 · 660 阅读 · 0 评论 -
redis 系列——2、redis 链表原理
概述上篇博客我简单介绍了 redis 字符串的实现原理。除了字符串外,链表作为一种常用的数据结构,提供了高效的节点重排能力以及顺序性的节点访问。redis 使用的C语言没有内置链表结构,本篇博客我就来整理下 redis 链表类型的实现。redis 数据类型redis 有以下五种常用的数据类型:String:字符串类型Hash:哈希类型list:链表类型set:集合类型zSet:有序集合类型1、List 链表类型C语言默认是不支持链表的,redis 使用头文件 adlish.h 中原创 2020-07-06 15:57:51 · 248 阅读 · 0 评论 -
redis 系列——1、redis 字符串原理
概述redis 作为目前市面上应用最广泛的 key-value 非关系型数据库经常在项目中使用,它的高性能以及线程安全等优势可以在很多场景中大放异彩。从本篇开始,我将通过一个系列的博客系统的整理 redis 相关的知识。本篇先从它的基础类型开始,简单介绍下 redis 都有哪些数据类型。redis 数据类型redis 有以下五种常用的数据类型:String:字符串类型,一个 key 对应一个字符串Hash:哈希类型,一个 key 对应一个 hash 关系list:列表类型,一个 key 对应原创 2020-07-06 11:25:56 · 494 阅读 · 3 评论 -
关系型数据库和非关系型数据库
什么是数据库顾名思义,数据库就是指存放数据的仓库,这里的数据也就是指计算机上的“资源”一、什么是关系型数据库上面我们说数据库就是存放数据的仓库,那么关系型数据库也就说在存放数据时,让数据之间也维持我们想要的“关系”。假如现在一所学校的校长想要把学校的资源如:班级,学生保存在数据库中。这里我们就可以使用关系型数据库来保存,首先我们可以通过一张表来保存班级信息,另一张表保存学生信息。并...原创 2020-01-21 15:25:28 · 245 阅读 · 0 评论