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

如何做网站推广雷公钻WordPress评论楼层

如何做网站推广雷公钻,WordPress评论楼层,做一家开发网站的公司,wordpress中接入支付宝目录 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/a/538323.html

相关文章:

  • 适合做网站开发的电脑配置浙江 网站备案
  • 检察机关门户网站建设工作自查报告太原网站制作推广
  • 硬件电路5V过压保护分析
  • 做贸易选哪家网站唯美网站建设
  • 做跨境网站注意事项如何建设网站和app
  • 海安网站建设做php网站前端价格
  • 已备案网站增加域名国外网站怎么做推广
  • 可以做外链的网站平台wordpress 安装连接数据库出错
  • 网站备案多少天软件编程自学网
  • 网站流量软件网站建设与实践高自考
  • 哪里有做企业网站的wordpress 左图右文
  • Qit_计网笔记 二、物理层
  • 安阳县崔家桥职业中专wordpress 如何优化
  • 广州申请公司注册网站微信网站建设公司
  • Training-WWW-Robots(攻防世界)
  • 网站导航html网站建设中轩网怎么样
  • 深圳网站建设推广方案那些网站是做俄罗斯鞋子
  • 网站后台添加东西不能粘贴装饰设计公司属于什么行业
  • 网站建设要规避的中国建设银行官网站企业年金
  • vs做网站添加背景不连接wordpress安装
  • 网站联盟是什么wordpress调整logo大小
  • 生物化学Learning Track(17)脂质
  • 16-程序的调试
  • 【基础】导弹拦截
  • 在linux系统上用什么做网站菏泽公司网站建设
  • Linux的进程认识上
  • 网站开发的基本流程和步骤网站建设环境配置
  • 上海著名网站设计公司本地的wordpress地址
  • 文本向量化与 Pinecone 向量存储:RAG性能提升指南
  • 清远网站制作公司淘客做网站怎么备案