Redis基础
文章平均质量分 78
溪午闻璐
合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下
展开
-
Redis之跳跃表
一、概述跳跃表(skiplist)是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。如下,对于单个链表来讲,即便链表中存储的数据是有序的,如果我们要向在其中查找某个数据,它只能从头到尾遍历链表。这样查找效率就会很低,时间复杂度会很高,达到了O(n)。如果我们想要提高其查询效率,可以考虑在链表上构建索引的 方式,每两个节点提取一个节点到上级,我们把抽出来的那一级就叫做索引,如下: ...原创 2022-03-27 11:38:56 · 8157 阅读 · 3 评论 -
Redis之Java工具类
Jedis是Redis官方推荐的Java连接开发工具,以下是基于Jedis的一个开发工具类,方便使用java语言对Redis数据库进行操作!redis.properties配置文件:#redis地址redis.host=localhost#redis端口号redis.port=6379#redis的密码#redis.auth=#是否使用JedisPool默认的配置,确定true,默认true#defaultSetting=false;#jedisPool的time...原创 2022-03-02 11:07:21 · 2259 阅读 · 0 评论 -
Redis之字典
一、概述字典,又称为符号表(symbol table)、关联数组(associativearray)或映射(map),是一种用于保存键值对(key-value pair)的抽象数据结构。 在字典中,一个键(key)可以和一个值(value)进行关联(即键映射为值),这些关联的键和值就称为键值对。字典中的每个键都是独一无二的。字典在Redis中的应用相当广泛,比如Redis的数据库就是使用字典来作为底层实现的,对数据库的增、删、查、改操作也是构建在对字典的操作之上的。...原创 2022-02-24 20:24:21 · 1364 阅读 · 0 评论 -
Redis之链表
一、概述链表提供了高效的节点重排能力,以及顺序性的节点访问方式,并且可以通过增删节点来灵活地调整链表的长度。链表在Redis中的应用非常广泛,比如列表键的底层实现之一就是链表。当一个列表键包含了数量比较多的元素,又或者列表中包含的元素都是比较长的字符串时,Redis就会使用链表作为列表键的底层实现。除了链表键之外,发布与订阅、慢查询、监视器等功能也用到了链表,Redis服务器本身还使用链表来保存多个客户端的状态信息,以及使用链表来构建客户端输出缓冲区(output...原创 2022-02-22 21:20:44 · 906 阅读 · 0 评论 -
Redis之SDS
1、概述Redis没有直接使用C语言传统的字符串表示(以空字符结尾的字符数组,以下简称C字符串),而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的抽象类型,并将SDS用作Redis的默认字符串表示。当Redis需要的不仅仅是一个字符串字面量,而是一个可以被修改的字符串值时,Redis就会使用SDS来表示字符串值。2、SDS结构struct sdshdr { // 记录buf数组中已使用字节的数量 /...原创 2022-02-22 21:00:34 · 1002 阅读 · 0 评论