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

自己建站模板做网站大概要花多少钱

自己建站模板,做网站大概要花多少钱,wordpress 无法注册,discu论坛网站模板Redis 数据类型与结构 一、值的数据类型二、键值对数据结构三、集合数据操作效率 一、值的数据类型 Redis “快”取决于两方面,一方面,它是内存数据库,另一方面,则是高效的数据结构。 Redis 键值对中值的数据类型,也…

Redis 数据类型与结构

    • 一、值的数据类型
    • 二、键值对数据结构
    • 三、集合数据操作效率

在这里插入图片描述
在这里插入图片描述

一、值的数据类型

Redis “快”取决于两方面,一方面,它是内存数据库,另一方面,则是高效的数据结构。

Redis 键值对中值的数据类型,也就是数据的保存形式有5种:String(字符串)、List(列表)、Hash(哈希)、Set(集合)和 Sorted Set(有序集合)。这5种数据类型由6种底层结构实现:简单动态字符串、双向链表、压缩列表、哈希表、跳表和整数数组。

String 类型的底层实现只有一种数据结构,简单动态字符串,而 List、Hash、Set 和 Sorted Set 这四种数据类型,都有两种底层实现结构,这四种类型称为集合类型,特点是一个键对应了一个集合的数据

在这里插入图片描述

二、键值对数据结构

Redis 使用哈希表来保存所有键值对,实现从键到值的快速访问。哈希表就是一个数组,每个元素称为一个哈希桶,哈希桶中的元素保存的并不是值本身,而是指向具体值的指针。哈希表保存了所有的键值对,也称为全局哈希表,时间复杂度为O(1)
在这里插入图片描述

当 Redis 中写入大量数据后,哈希表的冲突问题和 rehash 可能导致操作变慢。
哈希冲突是指,两个 key 的哈希值落在了同一个哈希桶中,毕竟,哈希桶的个数通常要少于 key 的数量。
Redis 通过链式哈希解决哈希冲突,就是指同一个哈希桶中的多个元素用一个链表来保存,它们之间依次用指针连接。
在这里插入图片描述

随着数据量增大,哈希冲突可能也会越来越多,这就会导致某些哈希冲突链过长,链上的元素只能通过指针逐一查找再操作,进而导致查询效率降低。

Redis 会对哈希表做 rehash 操作来解决这个问题,也就是增加现有的哈希桶数量,让逐渐增多的 entry 元素能在更多的桶之间分散保存,减少单个桶中的元素数量,从而减少单个桶中的冲突。

Redis 会将哈希表的数据拷贝到另一个容量更大的哈希表,清空原来的准备下一次 rehash,这样依然会有问题,因为在数据量大的基础上拷贝会造成 Redis 线程阻塞。为了避免这个问题,Redis 采用了渐进式 rehash,就是将拷贝过程的开销分摊到每次请求时进行,从而保证查询效率。

在这里插入图片描述

三、集合数据操作效率

对于 String 类型来说,找到哈希桶就能直接增删改查了,所以,哈希表的 O(1) 操作复杂度也就是它的复杂度了。对于集合类型来说,找到哈希桶后,增删改查都是对集合操作的,不同的集合类型时间复杂度是不一样的。

哈希表的特点上面提到了,复杂度是O(1),整数数组和双向链表也很常见,通过数组下标或者链表的指针逐个元素访问,操作复杂度基本是 O(N),操作效率比较低。压缩列表和跳表是 Redis 重要的数据结构,下面介绍一下。

压缩列表类似于一个数组,不同之处在于表头有三个字段 zlbytes、zltail 和 zllen,分别表示列表长度、列表尾的偏移量和列表中的 entry 个数,压缩列表在表尾还有一个 zlend,表示列表结束。
在这里插入图片描述

查找第一个元素和最后一个元素,可以通过表头三个字段的长度直接定位,复杂度是 O(1)。而查找其他元素时,复杂度就是 O(N) 了

跳表在链表的基础上,增加了多级索引,通过索引位置的几个跳转,实现数据的快速定位,当数据量很大时,跳表的查找复杂度就是 O(logN)
按照查找的时间复杂度,这些数据结构分类如下:
在这里插入图片描述

http://www.yayakq.cn/news/273711/

相关文章:

  • 网站网页切换怎么做网站的登录注册页面怎么做的
  • 网站左侧悬浮戴尔网站建设
  • 有没有专门发布毕业设计代做网站apico云开发平台
  • 学生保险网站wordpress加载进度条
  • 博海博海网站建设wordpress 网页存在哪里
  • 网站建设实训课自助打印微信小程序免费制作平台
  • 国外网站鞋子做的好的网站网站建设交接清单
  • 龙岩做网站西安哪家公司做网站
  • wordpress为什么在自定义结构的时候总是出现斜杠呢seo成创
  • 西安网站seo推广厂家宿州网站开发建设
  • 台州工程建设信息网站wordpress客户端 接口
  • 做网站找哪个公司wordpress jet插件
  • i岗网站建设免费企业信息发布平台
  • 南充公司网站建设网站后台修改的页面不能显示
  • android移动网站开发详解光盘下载品牌设计公司网站
  • 网站发展建设思路wordpress设置字体大小
  • 网站建设的经过的阶段diy在线定制网站系统
  • 2018建设网站如何熟悉网站项目的逻辑
  • 东营网站建设推广哪家好平面设计笔记本电脑推荐
  • 养生网站建设免费网站建设投放广告
  • 免费自助建站服务网站开发需呀那些技术
  • 化工网站建设太原小程序商城
  • 制作手机网站用什么软件海宏集团网站建设方案
  • 关于公司网站建设方案收集河南网站建设途径有什么
  • seo排名工具提升流量郑州百度快照优化排名
  • 佛山建站平台网站开发网页跳转到新的页面
  • logo免费网站西安关键词seo
  • 高安网站设计wordpress主题always
  • 企业网站制作方法子网站域名ip地址查询
  • 什么是网站反向链接深圳 做网站