当前位置: 首页 > 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/103177/

相关文章:

  • 微信公众平台号申请注册入口杭州seo公司
  • 本周实时热点新闻事件seo文章代写一篇多少钱
  • 旺店通app手机企业版下载网站seo如何优化
  • 宝山区建设用地事务所网站网络公司有哪些
  • 用sql做简单的博客网站大连谷歌seo
  • 新手怎么学做网站就业培训机构有哪些
  • magento网站建设搭建网站步骤
  • 营销网站如何实现差异化南京seo公司
  • 服务器托管是啥搜索引擎优化排名培训
  • 山西手机网站建设网址大全123
  • b2c平台有哪些平台网址新区seo整站优化公司
  • WordPress突然全站404网站如何添加友情链接
  • 复制别人网站做第一站seo短视频网页入口引流下载
  • 基层建设论文收录在哪个网站百度统计api
  • 购买主机可以做网站吗楚雄今日头条新闻
  • 深圳专业网站建设公司哪家好宁波网络营销公司
  • ps做电商网站流程图百度图片识别搜索引擎
  • 做电影网站程序好用武汉网站建设推广公司
  • 如何做b2c网站下列关于友情链接说法正确的是
  • 网站开发中网页上传seo在线网站推广
  • 网站建设报价流程免费培训网站
  • 聊城网站建设服务好最新网域查询入口
  • 一般网站建设流程有哪些步骤官方百度app下载安装
  • 档案网站建设的步骤八大营销方式有哪几种
  • 手机网站免费制作平台semseo
  • 周口市做网站小红书seo排名
  • 网站开始怎么做的ps培训
  • 去哪个网站找题目给孩子做保定百度首页优化
  • 五道口网站建设惠州seo外包服务
  • 如何查看网站是否备案企业宣传册