这是读redis设计与实现的一系列读书笔记

1、SDS定义

C语言字符串:用一个 \0 结尾的 char 数组来表示

SDS:redis自己定义的简单动态字符串(simple dyanmic string,SDS)的抽象类型,并且将SDS作为redis的默认字符串

例如:

redis >set msg "hello redis"

redis 会在数据库中创建一个新的键值对

键:一个字符串对象,底层实现是一个字符串"msg"的SDS

值:同样是一个"hello redis" 的SDS

每个 sds.h/sdshdr 结构表示一个 SDS 值:

struct sdshdr {

// 记录 buf 数组中已使用字节的数量

// 等于 SDS 所保存字符串的长度

int len;

// 记录 buf 数组中未使用字节的数量
int free; // 字节数组,用于保存字符串
char buf[];

};

2、SDS与C字符串的区别

3、SDS API

最新文章

  1. 关于CDN的认识
  2. storm源码之storm代码结构【译】【转】
  3. 在eclipse中导入weka(小白在路上)
  4. WEB系统开发
  5. C语言输出当前日期和时间
  6. PHP开发常见问题解决列表
  7. 【转】winform与web 按钮button去掉边框
  8. nginx+tomcat+memcached搭建服务器集群及负载均衡
  9. 使用JDBC进行数据库的事务操作(1)
  10. .NET并行计算基本介绍、并行循环使用模式
  11. Linux C++程序进行性能分析工具gprof使用入门
  12. 201521123060《Java程序设计》第1周学习总结
  13. c语言中的转义序列
  14. java新知识系列 一
  15. constraintLayout的一些高级用法 布局一个16:9的图片 以及GuideLine的使用
  16. 一个有界任务队列的thradpoolexcutor, 直接捕获错误日志
  17. 1.11 flask
  18. Servlet实例开发---学生管理系统
  19. JavaScript数据去掉空值
  20. 【2018北京集训十二】 coin 矩阵快速幂

热门文章

  1. windows 和rhel,centos双系统安装
  2. 剑指offer 面试18题
  3. Python基础(14)_python模块之configparser模块、suprocess
  4. Python基础(9)_生成器(yield表达式形式)、面向过程编程
  5. [笔记]一道C语言面试题:IPv4字符串转为UInt整数
  6. PHP......会话控制SESSION与COOKIE
  7. 每天一个Linux命令(47)route命令
  8. 【HackerRank】Ice Cream Parlor
  9. mini2440移植uboot 2014.04(七)
  10. Vue.js学习笔记 第五篇 事件处理