码迷,mamicode.com
首页 >  
搜索关键字:flexstore sds    ( 344个结果
《Redis设计与实现》读书笔记
花了几天时间把《Redis设计与实现》读完了,把一些心得记下来给大家分享。     第2章 简单动态字符串     redis里面的字符串对象都采用SDS结构实现。SDS有别于C风格的字符数组和java的String(定长)。这种结构更像C++的String或者java的ArrayList。长度动态可变。     redis的所有键值及字符串字面量都采用这种结构。     这一章节花了十几...
分类:其他好文   时间:2015-08-09 00:30:22    阅读次数:157
Redis数据类型之字符串
Redis数据类型之字符串redis的字符串redis的字符串不是C语言原生的字符串,而是自己构建的称为简单动态字符串(simple dynamic string),简称 SDS,和C语言原生的字符串相似,使用’\0’作为结尾。除了打印日志之外,我们操作字符串基本是在使用SDSSDS的在redis的主要功能 1. 保存数据库的字符串值 2. 用作缓冲区buffer SDS在redis的定义 在源...
分类:其他好文   时间:2015-07-30 19:31:54    阅读次数:129
编程好习惯-类型检查
公司一款手持终端,是在老产品代码的基础上研发,经常发生死机问题,死机原因很大部分是代码不严谨导致,今天排查遇到一个整型溢出导致的死机问题:在foo.c文件中定义有charg_sds_length=0;在foo.h文件中声明为externcharg_sds_length;但是在bar.c中有定义有voidapi_sds_rec_ha..
分类:其他好文   时间:2015-07-17 07:15:03    阅读次数:128
Redis 数据结构之简单动态字符串SDS
几个概念1:key对象 数据库存储键值对的键,总是一个字符串对象。2:value对象数据库存储键值对的值,可以是字符串对象,list对象,hash对象,set对象,sorted set对象。 例如:set msg "hello world" 则redis在数据库中创建一个新的键值对,键和值都是一个....
分类:其他好文   时间:2015-07-06 01:21:55    阅读次数:133
redis小试牛刀01
简单动态字符串(SDS):simple dynamic string,C字符串最后多一个空字符,SDS比C字符串更适合redis优点:1)C字符串长度要遍历,长度复杂度为O(n),SDS直接记录字符串长度,长度复杂度为O(1) 2)由于C字符串不记录字符串长度,易造成溢出,SDS空间分配策略完...
分类:其他好文   时间:2015-06-03 13:34:18    阅读次数:126
Redis源码学习:字符串
Redis源码学习:字符串1.初识SDS1.1 SDS定义Redis定义了一个叫做sdshdr(SDS or simple dynamic string)的数据结构。SDS不仅用于 保存字符串,还用来当做缓冲区,例如AOF缓冲区或输入缓冲区等。如下所示,整数len和free分别表示buf数组中已使用的长度和剩余可用的长度,buf是一个原生C字符串,以\0结尾。sds就是sdshdr中char buf...
分类:其他好文   时间:2015-05-30 08:10:36    阅读次数:101
软件定义数据中心浅见
真的是浅见,以后随着认识的加深,可能会更新该文。SDDC概述人家聊SDN、SDS等,VMware干脆跟大家聊SDDC(Software-Defined Data Center),即软件定义数据中心。SDDC是VMware大约三年前提出的概念,认为是云计算的终极形态,并提出数据中心可以通过三个步骤来实...
分类:其他好文   时间:2015-05-20 23:55:14    阅读次数:303
Redis源码阅读笔记(1)——简单动态字符串sds实现原理
首先,sds即simple dynamic string,redis实现这个的时候使用了一个技巧,并且C99将其收录为标准,即柔性数组成员(flexible array member),参考资料见这里。柔性数组成员不占用结构体的空间,只作为一个符号地址存在,而且必须是结构体的最后一个成员。柔性数组成...
分类:其他好文   时间:2015-05-17 18:40:34    阅读次数:126
处理字符串时如何选择buffer的大小和分配方式 - 看看 redis 是怎么做的
最近在阅读 redis 代码, 觉得 如何阅读 Redis 源码 提供了的阅读顺序还不错, 因为之前有读过 lua 代码, 也有一点经验, 作者建议的顺序还是比较合理的. 所以先从 redis 的内部字符串的实现开始看起, 在阅读过程中看到一个我个人认为很赞的技巧. 先贴代码:(不得不说, redis 的代码注释真是详尽到了极致 … lua的注释很本没法比啊)sds sdscatvprintf(sd...
分类:其他好文   时间:2015-05-16 21:53:25    阅读次数:150
Redis数据结构(一)简单动态字符串
Redis的字符串采用的是自定义的struct,名字叫做简单动态字符串(simple dynamic string,SDS)。 结构如下:struct sdshdr{ int len; int free; char buf[]; };采用如此结构的好处是: 【1】获取length的时候复杂度为O(1),不需要O(n); 【2】动态分配空间,避免缓冲区溢出,避免每次修改或者append都重新分配; 【...
分类:其他好文   时间:2015-05-07 18:51:47    阅读次数:99
344条   上一页 1 ... 30 31 32 33 34 35 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!