首页 > 数据库 >redis 数据结构

redis 数据结构

时间:2023-05-26 10:22:19浏览次数:35  
标签:SDS redis 复杂度 数据类型 字符串 数据结构

数据结构预算法最难啃,并且redis底层是c,需要熟悉c才好根据源码分析。先占坑吧

SDS

redis 的 String 的数据结构,全称为 简单动态字符串,simple dynamic string,redis 是 c 编写的,为什么不用 c 语言的字符串类型呢,肯定是为了优化性能而自定义的一种数据类型

举个简单的例子:c 获取字符串的长度,时间复杂度是 O(N),要遍历这个字符串来计数得到的。而 SDS 有个属性就是 len ,直接读取这个属性就能知道长度了,时间复杂度是 0(1)

ZipList

QuickList

Dict

IntSet

SkipList

支持的 redis 数据类型只有一个,Zset

标签:SDS,redis,复杂度,数据类型,字符串,数据结构
From: https://www.cnblogs.com/hangychn/p/17433986.html

相关文章

  • 数据结构专题 1
    图论狗都不写。宁可写数据结构也不想写图论了。写吐了。牛子老师说这套题的后半全是正经数据结构,而且无Ynoi。所以啥时候开多项式。由于写题解主要是合集,因此打算分拆一下水点社贡。目前停留在打算阶段。日,为什么明天考试。CF1039DYouAreGivenaTree很久以前看到过。这......
  • Redis
    Redis(REmoteDIctionaryService)是一个开源的键值对数据库服务器。Redis更准确的描述是一个数据结构服务器。Redis的这种特殊性质让它在开发人员中很受欢迎。Redis不是通过迭代或者排序方式处理数据,而是一开始就按照数据结构方式组织。早期,它的使用很像Memcached,但随着Redi......
  • Redis
    Redis1.认识redis1.1什么是NoSQLNoSQL是非关系数据库数据结构:非结构化数据关联:非关联的查询方式:非SQL查询事务特性:BASE(无法满足事务的ACID)使用场景数据结构不固定的对一致性,安全性要求不高对性能有要求1.2什么是RedisRedis是一个基于内存的键值型NoSQ......
  • 数据结构期末复习——图的遍历
    图的遍历:1.定义:从某个结点出发访问遍图中结点,且使每个结点仅被访问一次图的遍历具有复杂性,主要体现在以下几点1.遍历没有规定从哪个结点开始访问,因此从任意结点开始访问均可2.图的一个结点可以连接多个结点,因此无法确定访问此结点之后应该访问哪一个结点3.如果一个图中存在回......
  • Memcached与Redis的区别和选择
    一、Memcached简介Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。Memcached是以LiveJournal旗下DangaInteractive公司的BradFitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。Memcache......
  • redis持久化配置
    redis有两种持久化方式:RDB和AOF。具体差别跟优缺点可参考redis数据的两种持久化方式对比,本篇只介绍这两种方式怎么配置RDB配置方式默认情况下,是快照RDB的持久化方式,将内存中的数据以快照的方式写入二进制文件中,默认的文件名是dump.rdbredis.conf默认配置:save9001save30010sav......
  • 2.Redis的安装与配置-动力节点Redis7笔记
    2Redis的安装与配置这里是要将Redis安装到Linux系统中。2.1Redis的安装2.1.1克隆并配置主机修改主机名:/etc/hostname修改网络配置:/etc/sysconfig/network-scripts/ifcfg-ens332.1.2安装前的准备工作2.1.2.1安装gcc由于Redis是由C/C++语言编写的,而从官网下载的Redis......
  • Redis的安装与配置-动力节点最全Redis7笔记
    ##【动力节点】Redis入门到高级教程,全网最新最全redis缓存教程,redis百科大全2Redis的安装与配置这里是要将Redis安装到Linux系统中。2.1Redis的安装2.1.1克隆并配置主机修改主机名:/etc/hostname修改网络配置:/etc/sysconfig/network-scripts/ifcfg-ens332.1.2安装前的......
  • Redis中的缓存穿透|缓存击穿|缓存雪崩
    Redis是一种内存数据库,也就是说,它是一种存储在内存中的数据库.相当于Redis是提供一种缓存服务,提供这种缓存服务的有很多种,包括Redis,MongoDB等,其中国内用的最多的最常见的可能就是Redis既然是缓存服务,那么就可能存在缓存穿透,缓存击穿和缓存雪崩的现象存在,现在我们来分别详细描......
  • .NET中使用redis
    NuGet中安装对应的redis操作工具:StackExchange.Redis redis帮助类: ///<summary>   ///Redis读写帮助类   ///</summary>   publicclassRedisHelper   {       privatestringRedisConnectionStr=ConfigurationManager.AppSettings["RedisC......