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

临沂网站seo线上推广产品

临沂网站seo,线上推广产品,上海网站建设联系电话,wordpress文章编辑慢最近面试的时候被问到Redis 的二进制安全相关八股文面试题。Redis二进制安全内容比较多,以下是简单的总结大致的过程,需要深入学习的建议跳过 Redis是基于C语言进行开发的,而C语言中的字符串是二进制不安全的,所以Redis就没有直接…

最近面试的时候被问到Redis 的二进制安全相关八股文面试题。Redis二进制安全内容比较多,以下是简单的总结大致的过程,需要深入学习的建议跳过

Redis是基于C语言进行开发的,而C语言中的字符串是二进制不安全的,所以Redis就没有直接使用C语言的字符串,而是自己编写了一个新的数据结构来表示字符串,这种数据结构称之为简单动态字符串(Simple dynamic string),简称sds。

在C语言中,字符串采用的是一个char数组(柔性数组)来存储字符串,而且字符串必须要以一个空字符串\0来结尾。字符串并不记录长度,所以如果想要获取一个字符串的长度就必须遍历整个字符串,直到遇到第一个\0为止(\0不会计入字符串长度),故而获取字符串长度的时间复杂度为O(n)。

正因为C语言中是以遇到的第一个空字符\0来识别是否到了字符串末尾,因此其只能保存文本数据,不能保存图片、音频、视频和压缩文件等二进制数据,否则可能出现字符串不完整的问题,所以其是二进制不安全的。

Redis中为了实现二进制安全的字符串,对原有C语言中的字符串实现做了改进。如下所示就是一个旧版本的sds字符串的结构定义:

struct sdshdr{int len;//记录buf数组已使用的长度,即SDS的长度(不包含末尾的'\0')int free;//记录buf数组中未使用的长度char buf[];//字节数组,用来保存字符串
}

经过改进之后,如果想要获取sds的长度不用去遍历buf数组了,直接读取len属性就可以得到长度,时间复杂度一下就变成了O(1),而且因为判断字符串长度不再依赖空字符\0,所以其能存储图片、音频、视频和压缩文件等二进制数据,不用担心读取到的字符串不完整。

以上是基于个人总结,如果发现有误,请指出,我立即更正。

http://www.khdw.cn/news/13139.html

相关文章:

  • 用ps做的网站怎么发布最近的电脑培训班在哪里
  • 武汉购物网站建设全自动精准引流软件
  • 有哪些可以做问卷的网站百度人工服务热线电话
  • 注册越南网站vn电话营销
  • 重庆设计培训机构有哪些网站优化一年多少钱
  • 人才招聘网站怎么做山东泰安网络推广
  • 英文网站制作费用搜索引擎优化的对比
  • 网站设计价格大概是爱站网关键词
  • 网站做管制户外刀具专业培训seo的机构
  • 软件营销之群排名优化教程优化推广公司哪家好
  • wordpress 360字体插件百度seo关键词排名查询工具
  • 成都设计公司招聘ios aso优化工具
  • 阜阳水建公司官网中山网站seo优化
  • flash视频网站源码关键字排名软件官网
  • wordpress id获取图片地址重庆seo杨洋
  • 威海制作网站windows优化大师电脑版
  • 设计网站推荐ps百度运营怎么做
  • 个人备案网站名称云搜索引擎入口
  • 管理网站开发教程网易疫情实时最新数据
  • 对网站建设的意见广州网络营销推广公司
  • 如何在阿里网站做外单app推广活动策划方案
  • vue开发自适应网站百度推广效果不好怎么办
  • iis服务器网站301重定向怎么做百度网站下载
  • 网站的备案号查询域名注册入口
  • 小米发布会在哪看广州百度快速排名优化
  • 免费qq空间访客网站搜索引擎优化关键词
  • 凡科在线制作网站2022年最新新闻播报稿件
  • 党政机关网站建设怎么搜索网站
  • 网站建设类发票税率多少钱微博推广费用
  • 微信公众网站开发微信引流主动被加软件