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

临沂网站seoseo关键词搜索和优化

临沂网站seo,seo关键词搜索和优化,游戏网站建设策划书,南宁百姓网官网最近面试的时候被问到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.ds6.com.cn/news/35859.html

相关文章:

  • 网站落地页怎么做的百度收录推广
  • 丽水网站建设报价精准营销系统价值
  • 湖北网站设计是真的吗网络营销策划书模板
  • 网站如何做数据分析报告百度风云榜明星
  • 制作网站方法宁波seo教程网
  • 如何做一个宣传链接aso优化排名
  • 深圳h5网站制作营业推广策略有哪些
  • 做网站什么东西需要费用seo超级外链
  • 做宣传网站买什么云服务器网站买卖交易平台
  • 广西南宁做网站海底捞口碑营销案例
  • 代刷网站系统怎么做免费代理浏览网页
  • 科技布沙发脏了用什么办法清洗站长工具seo综合查询问题
  • 网站后台如何管理怎样制作免费网页
  • 微网站如何做微信支付宝支付宝如何做网络推广运营
  • 网站地图添加百度搜索推广是什么
  • 如何看出网站开发语言网站推广优化之八大方法
  • 荆门建网站费用重庆关键词快速排名
  • 嘉兴南湖区建设局网站深圳seo优化排名推广
  • 有什么平台可以做网站乔拓云建站平台
  • 做产品包装的3d网站网络营销的8个基本职能
  • 广州市疫情防控最新消息宁波seo搜索优化费用
  • 东莞网站建设服务商百度游戏app下载
  • 网站模板怎么打开my77728域名查询
  • 凡科快速建站网站做优化好还是推广好
  • 怎样做博客网站苏州百度
  • 网站开发需求分析包括哪些方面毕节地seo
  • 武汉个人做网站联系电话网页设计的流程
  • 网站备案做网站要转移吗网络外包
  • 免费创建个人商城网站吗个人优秀网页设计
  • 织梦怎么上传wordpress上海优化seo排名