美文网首页
1.1redis 内部数据结构-sds

1.1redis 内部数据结构-sds

作者: 橘子凉兮兮 | 来源:发表于2018-06-07 09:53 被阅读0次

1.1.1sds作用

  • 实现字符串对象
  • 替代 char*类型

1.1.2 sds结构

typedef char *sds;
struct sdshdr {
// buf 已占用长度
int len;
// buf 剩余可用长度
int free;
// 实际保存字符串数据的地方
char buf[];
};

1.1.3 sds优势

  • Redis 的字符串表示为 sds ,而不是 C 字符串(以 \0 结尾的 char*) 。
  • 对比 C 字符串,sds 有以下特性:

1可以高效地执行长度计算(strlen
2可以高效地执行追加操作(append)
3二进制安全

  • sds 会为追加操作进行优化:加快追加操作的速度,并降低内存分配的次数,代价是多占用了一些内存,而且这些内存不会被主动释放。

相关文章

  • 1.1redis 内部数据结构-sds

    1.1.1sds作用 实现字符串对象 替代 char*类型 1.1.2 sds结构 1.1.3 sds优势 Red...

  • Redis

    概述: 1、内部数据结构:sds、字典、redisObject 2、Redis数据类型 3、内部运行机制:数据库结...

  • redis底层数据结构以及对象系统

    底层数据结构 SDS(simple dynamic string,简单动态字符串) SDS空间预分配:对SDS字符...

  • redis面试

    redis内部的数据结构: 1.简单动态字符串(sds):内部是二进制,存在一个len字段记录长度值 2.双端链表...

  • SDS简单动态字符串

    SDS(simple dynamic string) 简单动态字符串 SDS数据结构 SDS与C字符串的区别 C字...

  • redis基础数据结构

    简单动态字符串 数据结构 头部 flags: s[-1] 获取sds结构体:SDS_HDR(16,s) 获取sds...

  • Redis的数据结构与对象

    SDS 数据结构 SDS 与 C C获取字符串长度:O(n),SDS获取字符串长度:O(1)。 SDS对字符串操作...

  • Redis内部数据结构详解(2)--sds

    原文链接跳转 -> 张铁蕾 本文是《Redis内部数据结构详解》系列的第二篇,讲述Redis中使用最多的一个基础数...

  • Simple Dynamic String (SDS)

    Simple Dynamic String (SDS) SDS是在redis中用于表示字符串的数据结构,相比C语言...

  • Redis设计与实现Part1

    一、数据结构与对象 1、SDS 数据结构(Simple Dynamic String) struct sdshdr...

网友评论

      本文标题:1.1redis 内部数据结构-sds

      本文链接:https://www.haomeiwen.com/subject/gtpwsftx.html