早上花了一点时间读了下sds的相关源码,其实sds就是构造了两个字段用来记录len和free的状态,然后还有一个char[]用来记录字符串的值。

然后sds模块的函数都是在模拟str的操作。

比较,追加,新建,删除,分割字符串等等

今天看完了源代码sds.h, sds.c 到 sdssplitlen函数

明天有空接着读。

sds里面用到的va_list, memmove等函数也帮我复习了。

SDS模块的更多相关文章

  1. Redis自定义动态字符串(sds)模块(二)

    sds模块的具体实现: 1.sdsnewlen 根据参数生成一个sds字符串 sds sdsnewlen(const void *init, size_t initlen) { struct sdsh ...

  2. Redis自定义动态字符串(sds)模块(一)

    Redis开发者在开发过程中没有使用系统的原始字符串,而是使用了自定义的sds字符串,这个模块的编写是在文件:sds.h和sds.c文件中.Redis自定义的这个字符串好像也不是很复杂,远不像ngin ...

  3. redis 源码阅读 数值转字符 longlong2str

    redis 在底层中会把long long转成string 再做存储. 主个功能是在sds模块里. 下面两函数是把long long 转成 char  和   unsiged long long 转成 ...

  4. Redis设计与实现读书笔记——简单动态字符串

    前言 项目里用到了redis数据结构,不想只是简单的调用api,这里对我的读书笔记做一下记录.原文地址: http://www.redisbook.com/en/latest/internal-dat ...

  5. readis 内部数据结构

    与其他key-value数据库不同之处 不仅支持字符串值,还支持 字符串 set,get 列表 lpush,rpush,lrange 哈希 hset,hget,hgetall hmset,hmget ...

  6. 可软件定义的存储逻辑——Efficient and agile storage management in software defined environments

            note:写这个或许算是翻译,又或算是对这个论文[1]的理解,又或者仅仅是我的看法.         这篇论文和IOFlow相比較,更加注重软件定义存储的框架(利用已有的框架来创建新的 ...

  7. 简单动态字符串-redis设计与实现

    简单动态字符串 Sds (Simple Dynamic String,简单动态字符串)是 Redis 底层所使用的字符串表示, 几乎所有的 Redis 模块中都用了 sds. 本章将对 sds 的实现 ...

  8. python调用metasploit里的MS-17-010模块进行漏洞攻击

    起因:看各位大佬们写的shellcode厉害的一匹,可惜自己没学C和汇编 也看不懂shellcode,只能写一个调用metasploit里的模块进行攻击了. 0x01 攻击机:192.168.223. ...

  9. Redis数据结构之简单动态字符串SDS

    Redis的底层数据结构非常多,其中包括SDS.ZipList.SkipList.LinkedList.HashTable.Intset等.如果你对Redis的理解还只停留在get.set的水平的话, ...

随机推荐

  1. Codeforces Gym101505G:Orchard Division(扫描线+线段树第k大)

    题目链接 题意 给出一个m*m的地图,上面有n个点,现在需要用一个自定义面积的矩形笼罩住恰好n/2个点,并且这个矩形需要有一个点在至少一个角落上,问这个矩形最小的面积是多少. 思路 有点类似于扫描线. ...

  2. CSDN,CNBLOGS博客文章一键转载插件(转载测试)

    插件地址: https://greasyfork.org/zh-CN/scripts/381053-csdn%E5%8D%9A%E5%AE%A2%E6%96%87%E7%AB%A0%E8%BD%AC% ...

  3. C#中的委托和事件(上篇)

    每一个初学C#的程序猿,在刚刚碰到委托和事件的概念时,估计都是望而却步,茫然摸不到头脑的.百度一搜,关于概念介绍的文章大把大把的,当然也不乏深入浅出的好文章.可看完这些文章,大多数新手,估计也只是信心 ...

  4. JSON.stringify() 的深入理解

    目录 序言 语法 深入理解 序言 最近在看<你所不知道的javascript>[中卷]一书,第一部分是类型和语法.本文是基于这部分的产物.在强制类型转换->抽象值操作-> to ...

  5. kuangbin专题专题四 Heavy Transportation POJ - 1797

    题目链接:https://vjudge.net/problem/POJ-1797 思路:请参考我列出的另一个题目,和这个题目要求的值相反,另一个清楚后,这个写的解释就明白了. 另一个类似题目的博客:h ...

  6. android_sdcard读写(一)

    现在的android手机其实就是一个小小的掌上电脑,平时电脑有的硬件它估计也有了.这次本人研究下了其中充当手机硬盘的角色,就是sdcard.这是一个保存应用程序的好地方. 老规矩,上代码,学习代码才是 ...

  7. Java线程安全与数据同步

    import java.util.HashMap; import java.util.concurrent.TimeUnit; public class Test { public static vo ...

  8. Excel公式中问题-记住不要忽略空格!

    总结一下之前犯得愚蠢的小问题: 程序:每日报表:从DB下载数据填充到excel,包括3个sheet,sheet1:总结<模板,公式填充,数据源为sheet2,sheet3>;sheet2: ...

  9. NFS存储服务及部署

    1 NFS简介 1.1 什么是NFS NFS=Network File System=网络文件系统.主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS客户端(一般为应用服 ...

  10. 查看内存的方法。vs-调试-窗口-内存

    1.vs-调试-窗口-内存 2.把指针复制到内存窗口中,就可以查看窗口的内存了.