Redis服务器是一个事件驱动程序,服务器需要处理以下两类事件: 1.文件事件:Redis服务器通过套接字与客户端进行连接,而文件事件就是服务器对套接字操作的抽象。 2.时间...
Redis服务器是一个事件驱动程序,服务器需要处理以下两类事件: 1.文件事件:Redis服务器通过套接字与客户端进行连接,而文件事件就是服务器对套接字操作的抽象。 2.时间...
RDB持久化通过保存数据库中的键值对来记录数据库状态 AOF持久化是通过保存Redis服务器所执行的写命令来记录数据库状态。 被写入AOF文件的所有命令都是以Redis的命令...
Redis是一个键值对数据库服务器,我们将服务器中的非空数据库以及它们的键值对统称为数据库状态。 Redis数据库是内存数据库,它将自己的数据库状态存储在内存里,所以一旦服务...
主要内容 1.服务器保存数据库的方法 2.客户端切换数据库的方法 3.数据库保存键值对的方法 4.针对数据库保存增、删、改、岔操作的实现方法。 5.服务器保存键的过期时间的方...
8.1对象的类型与编码 Redis中的每个对象都由一个redisObject结构表示,该结构中和保存数据有关的三个属性分别是type属性、encoding属性和ptr属性: ...
压缩列表是哈希键和列表键的底层实现之一。当一个列表键只包含少量的列表项,并且每个列表项要么就是小整数值,要么就是长度较小的字符串,那么Redis就会使用压缩列表来做列表键的底...
整数集合是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现。 6.1 整数集合的实现 conte...
跳跃表是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。 跳跃表支持平均O(logN),最坏O(N)复杂度的节点查找,还可以通过顺...
字典在Redis中的应用相当广泛,比如Redis的数据库就是使用字典来作为底层实现的,对数据库的增、删、查、改操作也是构建在对字典的操作之上的。 除了用来表示数据库之外,字典...
2.1 SDS的定义 SDS的结构体: int len//记录buf数组中已使用字节的数列 int free;//记录buf数组中未使用字节的数列 char buf[];//...
题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接处的所有数字最小的一个。例如输入数组{3,32,321},则打印出这3个数字能拍成的最小数字32132...
题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)
题目:输入n个整数,找出其中最小的k个数。例如输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4. 思路一:如果允许修改数组,可采用Partiti...
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数组2在数组中出现了5次,超过数组长...
题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab、cba。
题目:输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 思路:在转换成双向链表时,指向左子节点的指针调整为链...
题目:请实现函数ComplexListNode* Clone(ComplexListNode* pHead),复制一个复杂链表。在复杂链表中,每个结点除了有一个m_pNext...
题目:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从树的根结点喀什往下一直到也节点所经过的结点形成一条路径。
题目:输入一个整数数组,判断该数组是不是某个二叉搜索树的后续遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。
题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。例如输入图4.5中的二叉树,则依次打印出8,6,10,5,7,9,11