目录 Redis 系列(02)数据结构 Redis 系列目录 1. String 1.1 基本操作 1.2 数据结构 1.3 Redis数据存储结构 2. Hash 2.1 基本操作 2.2 数据结构 3. List 3.1 基本操作 3.2 数据结构 4. Set 4.1 基本操作 4.2 数据结构 5. Sorted Set 5.1 基本操作 5.2 数据结构 6. hyperloglogs 7. geospatial 8. 总结 Redis 系列(02)数据结构 Redis 系列目录 1.…
一.Redis 简介 "Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker." -- Redis是一个开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理. (摘自官网) Redis 是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的 Web 应用程序.Redis…
一.字符串     1.在Redis里,字符串是最基本的数据结构.当你在思索着关键字-值对时,你就是在死锁着字符串数据结构.不要被名字给搞混了. 常见实例: set users:leto "{name: leto, planet: dune, likes: [spice]}" 除此之外,Redis还有一些常用操作,例如 strlen<key> 获取一个关键字对应值的长度. getrange <key> <start> <end>将返回指定…
前言 Redis 提供了 5 种数据结构.理解每种数据结构的特点,对于 Redis 的 开发运维 非常重要,同时掌握 Redis 的 单线程命令处理 机制,会使 数据结构 和 命令 的选择事半功倍. 接下来的几篇文章,将从如下几个方面介绍 Redis 的几种数据结构,命令使用及其应用场景. 预备知识:几个简单的 全局命令,数据结构 和 内部编码,单线程命令 处理机制分析. 数据结构特性:5 种 数据结构 的特点.命令使用.应用场景. 数据管理:键管理.遍历键.数据库管理. 正文 1. 预备知识…
前段时间翻看了Redis的源代码(C语言版本,Git地址:https://github.com/antirez/redis), 过了一遍Redis数据结构,包括SDS.ADList.dict.intset.ziplist.quicklist.skiplist. 在此进行总结 一.SDS(Simple Dynamic String) 简单动态字符串 SDS是redis最简单的数据结构 sds(简单动态字符串)特点,预先分配内存,记录字符串长度,在原字符串数组里新增加一串字符串. 新长度newlen…
1.目录 Redis 基础数据结构 string (字符串) list (列表) hash (字典) set (集合) zset (集合) 容器型数据结构的通用规则 过期时间 2.Redis 基础数据结构 Redis 有 5 种基础数据结构,分别为:string (字符串).list (列表).set (集 合).hash (哈希) 和 zset (有序集合). 3.string (字符串) 字符串 string 是 Redis 最简单的数据结构.Redis 所有的数据结构都是以唯一 的 key…
Redis五种数据结构如下: 对redis来说,所有的key(键)都是字符串. 1.String 字符串类型 是redis中最基本的数据类型,一个key对应一个value. String类型是二进制安全的,意思是 redis 的 string 可以包含任何数据.如数字,字符串,jpg图片或者序列化的对象. 使用:get . set . del . incr. decr 等 > set hello world OK > get hello "world" > del h…
redis使用跳表不用B+数的原因是:redis是内存数据库,而B+树纯粹是为了mysql这种IO数据库准备的.B+树的每个节点的数量都是一个mysql分区页的大小(阿里面试) 还有个几个姊妹篇:介绍mysql的B+索引原理 参考:一步步分析为什么B+树适合作为索引的结构 以及索引原理 (阿里面试) 参考:kafka如何实现高并发存储-如何找到一条需要消费的数据(阿里) 参考:二分查找法:各种排序算法的时间复杂度和空间复杂度(阿里) 关于mysql 存储引擎 介绍包括默认的索引方式参考:MySq…
- 从前面redis的基本数据结构来看,可以看出,redis都是在基本结构(string)的基础上,封装了一层统计的结构(SDS),这样让对基本结构的访问能够更快更准确,提高可控制度. - redis的键值对中,键必然是用字符串对象实现的,所以我们一般说的列表键,指的是字符串键+列表值. - 但是redis并没用这些数据结构直接实现redis的键值数据库,而是基于这些数据结构有一个对象系统,这个系统包括:字符串对象,列表对象,哈希对象,集合对象和有序集合对象,每一种对象都可能用到一到多种基本的数…
前言 本书是Redis设计与实现的读书笔记,旨在对Redis底层的数据结构及实现有一定了解.本书所有的代码基于Redis 3.0. 简单动态字符串 SDS Redis没有直接使用C语言中的字符串,而是自己构建了一种叫简单动态字符串(Simple Dynamic String,SDS)的类型. 使用SDS而不是C字符串的优势 获取字符串长度的复杂度降低:直接根据len属性,复杂度为O(1),C字符串需要遍历字符串,复杂度O(N). 杜绝缓冲区溢出:SDS会在修改时,先检查缓冲区的大小,不足时,先扩…