1.字符串SDS

struct sdshdr {

// buf 已占用长度
int len;

// buf 剩余可用长度
int free;

// 实际保存字符串数据的地方
// 利用c99(C99 specification 6.7.2.1.16)中引入的 flexible array member,通过buf来引用sdshdr后面的地址,
// 详情google "flexible array member"
char buf[];
};

redis的字符串结构是在C上面扩展的SDS,比起C字符串,SDS具有以下优点:

1. 获取字符串长度的时间复杂度为O(1)
2. 内存预分配,减少修改字符串的时候重复分配内存的次数
3. 不会内存溢出
4. 是二进制安全的,可以存储任何数据
5. 惰性内存释放

最新文章

  1. 返回顶部demo
  2. Joomla及其类似软件的说明分析
  3. Bug Tracker 使用笔记(有图有真相)
  4. NRF51822之动态广播使用
  5. 把多个JavaScript函数绑定到onload事件处理函数上
  6. LINQ(LINQ to DataSet)
  7. mysql备份数据库
  8. Easyui 排序时 自动向后排传sort order 你妹真坑爹
  9. php_中替换换行符
  10. VB.NET中网络编程的另一种方案----system.net中的HttpWebRequest类的使用
  11. Asp.Net Core 项目实战之权限管理系统(8) 功能菜单的动态加载
  12. Jsp,Servlet初学总结
  13. SQL Server学习之路(八):扩展SQL语句
  14. idea的mybatis的xml文件总是报警告SQL dialect is not configured
  15. 解读经典《C#高级编程》最全泛型协变逆变解读 页127-131.章4
  16. 关于hightcharts如何在同一HTML画两个及以上图形问题
  17. Centos6搭建sftp服务器
  18. 用async/ await来发送异步
  19. vim插件的安装方式 -- vim注释插件和doxygen函数注释生成插件-ctrlp插件-tabular等号对齐 插件
  20. STM32F4的sct文件理解

热门文章

  1. Ajax笔记 XHR XMLHttpRequest
  2. JS对象深度克隆
  3. Akka(29): Http:Server-Side-Api,Low-Level-Api
  4. javaWeb 基础知识
  5. JS难点--面向对象(继承)
  6. Java基础总结--多线程总结1
  7. 学习Identity Server 4的预备知识
  8. MicroService.Core简易微服务框架《一、简介》
  9. Python面向对象篇之元类,附Django Model核心原理
  10. MySQL-client-5.6.36-1.linux_glibc2.5.x86_64.rpm安装详解