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

做网站技术做营销策划的公司

做网站技术,做营销策划的公司,女生做新媒体运营是不是很累,武汉定制公交appRedis数据结构之字符串(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.hkea.cn/news/581745/

相关文章:

  • 蜜芽免费网站域名关键词网站排名查询
  • 网站备案要到哪里下载关键词在线挖掘网站
  • 跨境电商开发seo的优化策略有哪些
  • 做网站的费用 优帮云百度广告代运营
  • wordpress儿童卡通主题兰州网站seo服务
  • 8网站建设做网站sem优化师是什么意思
  • 设计师个人网站怎么做百度优化培训
  • 广东海外建设监理有限公司官方网站2345网址导航是病毒吗
  • 深圳网站制作培训宁波网络营销公司
  • 网站建设方案书 模板长清区seo网络优化软件
  • 简述网站的推广策略产品设计
  • 商贸有限公司网站建设此网站服务器不在国内维护
  • 常州个人做网站制作小程序的软件
  • 郑州做网站公司dz论坛如何seo
  • 十堰商城网站建设网络营销seo优化
  • 小欢喜林磊儿什么网站做家教福州seo推广外包
  • 许昌网站开发博客营销
  • 做网站用jquery爱站网关键词挖掘
  • wordpress手动裁剪seo营销推广服务公司
  • 英文网站建设网站海南网站制作公司
  • 网页设计与网站建设主要内容软文营销的特点
  • 一起做网站17广州最新小组排名
  • 最专业的网站设计公司有哪些论坛企业推广
  • 单页网站怎么做外链个人网页
  • 宁波城乡住房建设局网站有效的网络推广
  • 网站建设 深圳销售crm客户管理系统
  • 高端网站开发设计站长之家字体
  • 免费网站建站工具购买域名的网站
  • 淘宝联盟怎么做网站百度网站提交
  • 前端做用vue做后台多还是做网站多青岛网站快速排名优化