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

互助盘网站开发校园网上超市网站建设推广

互助盘网站开发,校园网上超市网站建设推广,建立局域网网站,wordpress做排名Redis数据结构之字符串(sds) redisObject 定义如下 struct redisObject {unsigned type:4; //数据类型unsigned encoding:4; /*encoding 编码格式,及存储数据使用的数据结构,同一类型的数据,Redis 会根据数据量,占用内…

Redis数据结构之字符串(sds)

redisObject

定义如下

struct redisObject {unsigned type:4;       //数据类型unsigned encoding:4;   /*encoding 编码格式,及存储数据使用的数据结构,同一类型的数据,Redis 会根据数据量,占用内存等情况使用不同的编码,最大限度节省内存 */	unsigned lru:LRU_BITS;  int refcount;			/*refcount 引用计数,为了节省内存,Redis 会在多处引用同一个				 redisObject */void *ptr;				//指向真正的数据结构
};

Redis 中的数据对象redisObject 是Redis 对内部存储的数据定义的抽象类型

redisObject是负责装载Redis中的所有的键和值,redis 是真正指向存储数据的数据类型,redisObject.refcount、redisObject.lru 等属性用于数据管理(数据共享,数据过期等)

Redis五种数据结构和编码

字符串 -ads

sds 定义

对于不同长度的字符串,Redis 定义了不同的结构体:

typedef char *sds;
/*关键字 __attribute__ ((__packed__) -----取消结构体内的字节对齐以节省内存
*/
struct __attribute__ ((__packed__)) sdshdr5 {unsigned char flags; /* 第三位表sdshdr的类型,高三位只在sdshdr5 中使用,表示len ,所以sdshdr5中没有len 和 alloc	*/char buf[];
};
struct __attribute__ ((__packed__)) sdshdr8 {uint8_t len;//已经使用的字节长度uint8_t alloc; //已经申请的字节长度unsigned char flags; //char buf[];  //字符串内容,
};
struct __attribute__ ((__packed__)) sdshdr16 {uint16_t len;uint16_t alloc;unsigned char flags;char buf[];
};
struct __attribute__ ((__packed__)) sdshdr32 {uint32_t len; uint32_t alloc; unsigned char flags; char buf[];
};
struct __attribute__ ((__packed__)) sdshdr64 {uint64_t len; uint64_t alloc; unsigned char flags; char buf[];
};#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 编码

sds 有三种编码

OBJ_ENCODING_EMBSTR:
  • 长度小于或者等于OBJ_ENCODING_EMBSTR_SIZE_LIMIT(44字节)的字符串

  • 在该编码中redisObject、sds结构存放在一块连续内存中

  • OBJ_ENCODING_EMBSTR 编码是Redis 针对短字符串的优化有如下优点

    • 内存申请和释放都只需要调用一次内存操作函数
    • redisObject、sdshdr 结构保存在一块连续内存中,减少了内存碎片
OBJ_ENCODING_RAW:
  • 长度大于OBJ_ENCODING_EMBSTR_SIZE_LIMIT的字符串
  • 在该编码中redisObject、sds结构存放在两个不连续的内存中
OBJ_ENCODING_INT

数值格式,将数值字符串转换成整型,可以大幅度降低数据占用的空间

http://www.yayakq.cn/news/432968/

相关文章:

  • 12388网站建设管理情况专业的网站建设网络
  • 华容网站建设企业网站建设趋势
  • 电子商务网站建设和管理如何做电影网站
  • 网站升级建设招标公告专业团队表情包张伟
  • 兰州网站建设索q479185700阿里云备案网站备案域名
  • 福州最好的网站建设网络公司自己公司内网网站和外网怎么做同步
  • 如何申请域名建网站太原企业网站制作
  • 东莞商贸公司寮步网站建设价格wordpress 自定义文章类型 分页
  • 效果好的网站制作建行信用卡网站
  • 做直播券的网站有多少中国制造网外贸平台
  • 贪玩传奇手游官方网站博罗县建设局网站
  • 惠州网站建设信息企业招聘网站模板
  • 哪个网站是专门做装修的广西贺州建设局网站
  • 铁岭公司做网站优秀品牌vi设计公司
  • 教育网站建站需求河源盛世网站建设
  • dw网站开发流程软件开发工程师是什么职业
  • 宿迁网站建设电话深圳品牌包装设计公司
  • 福州网站建设seo中企动力重庆分公司
  • 手机移动端网站wordpress 系统安装教程 pdf
  • 企石网站仿做wordpress怎么中文
  • 建网站打开需要验证建设项目所在地公共媒体网站
  • 阿里云 部署网站网上购物的网站开发背景
  • 自己做网站不如帮别人做运营WordPress文章中的编辑去掉
  • 做网站录入和查询需求wordpress文章页面宽度
  • 58同城的网站建设郓城网站建设
  • 湖南微网站营销常用十大浏览器
  • 台州网站建设多少钱网站标题写什么作用
  • 中国建设银行绑定网站wordpress 音乐主题
  • 西安网站seo分析湖南省建设信息网站
  • 商城网站开发报精准营销