当前位置: 首页 > wzjs >正文

dhl网站发票在哪做网络公司关键词排名

dhl网站发票在哪做,网络公司关键词排名,做网站添加支付功能要多少钱,网站 申请目录 1、背景2、SDS底层实现 1、背景 redis作为高性能的内存数据库,对字符串操作(如键、值的存储)有极高的要求。c语言原生字符串(以\0结尾的字符串数据)有一些缺点:长度计算需要遍历(O(n)时间…

目录

  • 1、背景
  • 2、SDS底层实现

1、背景

redis作为高性能的内存数据库,对字符串操作(如键、值的存储)有极高的要求。c语言原生字符串(以\0结尾的字符串数据)有一些缺点:长度计算需要遍历(O(n)时间复杂度)、频繁内存重分配、二进制不安全、无缓冲区管理。为了解决这些问题,redis使用了SDS(Simple Dynamic String),在兼容c字符串的同时,提供了更高效、更安全的能力。

2、SDS底层实现

SDS底层结构体如下:

//redis 5+已弃用
struct __attribute__ ((__packed__)) sdshdr5 {unsigned char flags; /* 3 lsb of type, and 5 msb of string length */char buf[];
};//存储长度范围:0~255(2的8次方减1)
struct __attribute__ ((__packed__)) sdshdr8 {uint8_t len; /* used */uint8_t alloc; /* excluding the header and null terminator */unsigned char flags; /* 3 lsb of type, 5 unused bits */char buf[];
};//存储长度范围:256~65535(2的16次方减1)
struct __attribute__ ((__packed__)) sdshdr16 {uint16_t len; /* used */uint16_t alloc; /* excluding the header and null terminator */unsigned char flags; /* 3 lsb of type, 5 unused bits */char buf[];
};//存储长度范围:656536~(2^32-1)
struct __attribute__ ((__packed__)) sdshdr32 {uint32_t len; /* used */uint32_t alloc; /* excluding the header and null terminator */unsigned char flags; /* 3 lsb of type, 5 unused bits */char buf[];
};//存储长度范围:大于等于2^32字节
struct __attribute__ ((__packed__)) sdshdr64 {uint64_t len; /* used */uint64_t alloc; /* excluding the header and null terminator */unsigned char flags; /* 3 lsb of type, 5 unused bits */char buf[];
};

根据存储字符串的大小使用不同的sdshdr结构,其字段含义为:

字段名含义
len字符串实际长度(已用字节数)
alloc分配的总容量(不包括头部和结尾的\0)
flagsSDS类型
buf[]存储实际数据

flags代表的宏定义如下:

#define SDS_TYPE_5  0
#define SDS_TYPE_8  1
#define SDS_TYPE_16 2
#define SDS_TYPE_32 3
#define SDS_TYPE_64 4

SDS的特性如下:

特性实现原理
O(1)长度获取直接读取len字段,无需遍历
二进制安全通过len记录字节数(而非依赖\0),可存储任意二进制数据
内容预分配扩容时按规则分配额外空间,减少重分配次数
惰性释放缩容时不立即释放内存,通过alloc字段记录剩余空间,供后续操作复用
兼容c字符串在buf末尾自动追加\0,可直接传递buf给c函数
http://www.dtcms.com/wzjs/335738.html

相关文章:

  • 珠海澳门网站建设公司哪家好西安seo排名公司
  • 邯郸专业网站建设seo博客网址
  • 自己免费做网站(二)青岛做网络推广的公司有哪些
  • 佛山找人做网站什么是seo站内优化
  • 基于php旅游网站的毕业设计分析网站推广和优化的原因
  • 深圳建设网站的公司哪家好长尾关键词挖掘
  • 网站建设会面临些什么问题培训网站制作
  • 网站和平台有什么区别淄博seo公司
  • 哈尔滨市做网站软文广告怎么写
  • 做销售找客户渠道seo优化网站推广全域营销获客公司
  • yahoo怎么提交网站八八网
  • 个人网站怎么做推广百度seo公司整站优化
  • 摄影设计师是干嘛seo软件开发
  • 云南网站建设哪家好品牌营销策略案例
  • 昆明网站建设价格低app推广注册招代理
  • 网站托管什么意思厦门seo公司到1火星
  • espcms易思企业网站管理系统破解关于seo如何优化
  • dw织梦做网站百度谷歌seo优化
  • 做网站的盈利点青岛网站建设制作公司
  • wordpress视频网站采集器网站统计数据
  • 怎么学建设网站门户网站排行榜
  • 制作一个网站怎么架构cilimao磁力猫最新版地址
  • 潍坊网站建设公司推荐百度搜索关键词怎么刷上去
  • 重庆无障碍网站建设关键词在线听
  • wordpress 购物网站建站宝盒
  • 山西省建设局网站seo网站推广专员
  • 做高端网站的公司百度站长平台官网登录入口
  • 爱狼戈网站建设提交百度收录
  • 手机网站做安卓客户端企业网站建设方案策划书
  • 有做火币网这种网站的吗优化网站关键词优化