用的 就是string了。 本文就来谈谈 redis内部,string 的实现原理:SDS(simple ...
Redis是一个键值对数据库 key value DB ,下面是一个简单的Redis的命令: 该命令将键 msg 值 hello wolrd 这两个字符串保存到Redis数据库中。 本章分析Redis如何在内存中保存这些字符串。 redisObject Redis中的数据对象server.h redisObject是Redis对内部存储的数据定义的抽象类型,在深入分析Redis数据类型前,我们先了 ...
2021-09-07 22:46 0 316 推荐指数:
用的 就是string了。 本文就来谈谈 redis内部,string 的实现原理:SDS(simple ...
列表类型可以存储一组按插入顺序排序的字符串,它非常灵活,支持在两端插入、弹出数据,可以充当栈和队列的角色。 本文探讨Redis中列表类型的实现。 ziplist 使用数组和链表结构都可以实现列表类型。Redis中使用的是链表结构。下面是一种常见的链表实现方式adlist.h ...
在上一篇文章《Redis列表实现原理之ziplist结构》,我们分析了ziplist结构如何使用一块完整的内存存储列表数据。 同时也提出了一个问题:如果链表很长,ziplist中每次插入或删除节点时都需要进行大量的内存拷贝,这个性能是无法接受的。 本文分析quicklist结构如何解决这个问题 ...
before C语言基础 Redis基础 导入 redis的命令如下: Redis作为一种存储字符串的缓存结构,其具体实现是由C语言完成,在C语言中,字符串是通过字符数组实现的,即char[],那么Redis对于字符串的实现是不是也是基于字符数组 ...
大家好,今天给大家介绍一下我的新书 —— 《Redis核心原理与实践》。 后端开发的同学应该对Redis都不陌生,Redis由于性能极高、功能强大,已成为业界非常流行的内存数据库。 《Redis核心原理与实践》这本书深入地分析了Redis常用特性的内部机制与实现方式,大部分内容源自对Redis ...
Redis散列类型可以存储一组无序的键值对,它特别适用于存储一个对象数据。 本文分析Redis中散列类型以及其底层数据结构--字典的实现原理。 字典 Redis通常使用字典结构存储用户散列数据。 字典是Redis的重要数据结构。除了散列类型,Redis数据库也使用了字典结构。 Redis ...
字符串hash思想的来源(个人猜测): 对于一系列的字符串,如果我们需要重复比较它们是否相同的话,显然这会是一个接近于O(N^3)的算法,时间复杂度太高了。于是我们期望得到一个更好的算法。 把目光着眼到我们的十进制数字,也就是我们平时使用的数字上面。我们很容易发现,比较两个 ...
Redis支持事务机制,但Redis的事务机制与传统关系型数据库的事务机制并不相同。 Redis事务的本质是一组命令的集合(命令队列)。事务可以一次执行多个命令,并提供以下保证: (1)事务中的所有命令都按顺序执行。事务命令执行过程中,其他客户端提交的命令请求需要等待当前事务所有命令执行完成后再 ...