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

南漳网站制作网络营销策略案例

南漳网站制作,网络营销策略案例,中软国际,吴桥县网站建设价格1、用途 简单的K-V缓存计数器分布式锁session共享分布式ID生成(自增) 2、底层实现结构 Redis底层是c语言实现的,但是并没有使用c的string来表示字符串,而是使用自己的简单动态字符串的抽象类型(simple dynamic string,SDS)。 SDS结构: st…

1、用途

  • 简单的K-V缓存
  • 计数器
  • 分布式锁
  • session共享
  • 分布式ID生成(自增)

2、底层实现结构

Redis底层是c语言实现的,但是并没有使用c的string来表示字符串,而是使用自己的简单动态字符串的抽象类型(simple dynamic string,SDS)。
SDS结构:

struct sdshdr {    // 用于记录buf数组中使用的字节的数目// 和SDS存储的字符串的长度相等  int len;    // 用于记录buf数组中没有使用的字节的数目   int free;    // 字节数组,用于储存字符串char buf[];   //buf的大小等于len+free+1,其中多余的1个字节是用来存储’\0’的。
};

使用SDS,而不使用c语言string的好处:
1、常数复杂度获取字符串长度

C语言:字符串只是简单的字符的数组,当使用strlen获取字符串的长度时,内部其实是顺序遍历数组的内容,找到’\0’对应的字符,从而计算出字符串的长度,即O(n)
SDS:只需访问SDS结构中len属性,即可得到字符串的长度。复杂度为O(1)。

2、杜绝缓冲区溢出

Redis是C语言编写的,并没有方便的数据类型进行内存的分配,必须手动进行内存的分配和释放。对于字符串的拼接和复制操作,C语言开发者需要确保目标字符串的空间足够大,不然会出现溢出情况,

当使用SDS的api修改字符串时,遵循以下规则:

1、检查字符串的大小是否满足
如果空间满足,则像C语言那样操作字符串即可,如果不满足,则拓展buf空间。
2、拓展buf空间满足一下策略:

  1. 拓展前,如果字符串长度小于1MB,那么拓展后,字符串长度为2*len+1
  2. 拓展前,如果字符传长度大于1MB,那么拓展后,字符串长度为len+1Mb+1

PS:字符串的长度最多为512M。

3、减少修改字符串带来的内存重新分配次数

Redis主要通过以下两种方式来处理内存问题
1、字符串长度增加时,进行空间预分配
2、字符串长度减少时,进行惰性释放内存
当执行字符串长度减少时,SDS并不会直接减少数据结构的长度,而是修改SDS结构中的len和free(减少len,增加free,保持字符串的总长度不变),避免内存重新分配。
SDS也提供直接释放内存的API,在需要时,可以直接调用API释放内存。

4、二进制安全

C字符串除了末尾外不能出现空字符,否则会被认为是字符串的末尾。这使得C字符串只能存储文本数据,而不能存储图像,音频等二进制数据。

SDS不需要依赖控制符,而是以len来存储数的大小。SDS所有的API都是以二进制的方式处理buf数据,且不会对数据做任何处理,写入的时候是什么样子,读取到的也是什么样的。

http://www.hkea.cn/news/275864/

相关文章:

  • 济南网站优化收费百度互联网营销
  • bootstrap响应网站模板下载发帖推广百度首页
  • 动态网站上的查询怎么做新媒体运营培训学校
  • 网站开发人员必备技能百度优化推广
  • 花都 网站建设百度推广怎么添加关键词
  • 开发公司成本部职责岗位职责和流程苏州网站建设优化
  • 湛江网站制作系统seo排名需要多少钱
  • 城乡现代社区建设seo关键词推广案例
  • 旅游网站开发外文文献关键洞察力
  • 大学生asp网站开发的实训周长沙百度快速优化
  • 黑龙江省建设网站百度投流运营
  • 网站关键词太多好不好兰州seo整站优化服务商
  • 义乌网站设计网店推广策划方案
  • 无锡网站优化工作室网站关键词排名优化推广软件
  • 长沙做网站的公司亚马逊seo什么意思
  • 仪征建设银行官方网站怎么优化一个网站
  • 那个网站可以查询美做空基金宁波网站推广平台效果好
  • 杨凌企业网站建设天津seo优化
  • 建设网站的工具免费b站在线观看人数在哪儿
  • 毕业设计餐饮网站建设国内前10电商代运营公司
  • 日本b2b网站市场调研的步骤
  • 强企网做网站网店推广有哪些
  • 博物馆网站建设策划书公司如何在百度宣传
  • 做cpa广告网站教程百度sem推广具体做什么
  • 免费网站建站WWW222国际军事最新消息今天
  • 做网站软件miscrosoft云服务器
  • 如何做盗版小说网站最经典的营销案例
  • 设计类的网站和简介关键词优化推广排名多少钱
  • 代理记账网站怎么做北京seo方法
  • cdr做网站企业网站建设的基本流程