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

怎么做网站封面上的图北京建网站找哪个公司

怎么做网站封面上的图,北京建网站找哪个公司,广西壮族自治区医保网上服务大厅,做请帖网站存储结构 key-value键值对通过 hash 的方式存储到数组中value 主要的数据结构有string,list,hash,set,zsetvalue 的数据不是单一类型,可以嵌入 key - value 键值对 存储转换 redis 在进行编码存储的时候,同…

存储结构

  • key-value键值对通过 hash 的方式存储到数组中
  • value 主要的数据结构有string,list,hash,set,zset
  • value 的数据不是单一类型,可以嵌入 key - value 键值对

 

 存储转换

        redis 在进行编码存储的时候,同一类型不同的数据量会导致编码的方式不同

  • 数据量少的时候,以存储效率高为主
  • 数据量多的时候,以运行查询快为主

数据组织

        redis 的 KV 数据组织方式是字典,通过 hashtable 来实现。hashtable 就是通过 hash 运算的方式来决定字符串放到数组的哪一个槽位,数组的大小根据数据量来进行调整,所以就会涉及到扩容和缩容。

  • 字符串经过 hash 函数运算得到 64 位整数
  • 64 位整数%表长size得到余数,即是字符串在数组中的槽位
  • 将数组存入对应的槽位中

hash 冲突

         当存储的数据个数大于数组的长度时,必将发生冲突,就是在一个槽内存了两个或多个数据。

抽屉原理: n+1个苹果放在 n 个抽屉中,苹果最多的那个抽屉至少有 2 个苹果;64位整数远大 于数组的长度,比如数组长度为 4,那么 1、5、9、1+4n 都是映射到1号位数组;所以大概 率会发生冲突;

 负载因子

负载因子 = used / size , used 是数组存储元素的个数,size 是数组的长度;

负载因子越小,冲突越小;

负载因子越大,冲突越大;

redis 的负载因子是 1

扩容

 如果负载因子 > 1,则会发生扩容,扩容的规则是翻倍扩容;

如果正在 fork (在 rdb、aof 复写以及 rdb-aof 混用情况下)时,会阻止扩容,但是此时若负载 因子 > 5,索引效率大大降低, 则马上扩容;

 扩容的时候,会发生rehash,扩容后每个元素可能会有两个位置出现。

 缩容

如果负载因子 < 0.1 ,则会发生缩容,缩容的规则是恰好包含 used 的 2的n次方;

理解如下:假如此时数组存储元素个数为 9,恰好包含该元素的就是 2的4次方,也就是 16;

缩容也会发生rehash,位置的调整与扩容相反。

 

 渐进式rehash

当 hashtable 中的元素过多的时候,不能一次性 rehash 到 ht[1] ,这样会长期占用 redis,其他 命令得不到响应,所以需要使用渐进式 rehash;

rehash步骤:

        将 ht[0] 中的元素重新经过 hash 函数生成 64 位整数,再对ht[1] 长度进行取余,从而映射到 ht[1]。

渐进式 rehash 规则:

        1. 分治的思想,将 rehash 分到之后的每步增删改查的操作当中;

        2. 在定时器中,闲时最大执行一毫秒 rehash ,每次步长 100 个数组槽位。

处于渐进式 rehash 阶段时,是否会发生扩容缩容?不会!

 Redis 线程模型

        Redis采用"单线程处理命令+多线程处理后台任务"的混合模型。核心命令执行保持单线程特性,通过多线程处理网络I/O、持久化等辅助操作。

单线程命令处理机制

前提:单线程不能有耗时操作

1.避免加锁复杂度

  • 多线程会引入并发冲突,需要加锁控制:
  • 加锁粒度难把控,锁得多了性能下降,锁得少了数据错乱
  • 容易出现死锁、竞态等问题
  • 代码复杂度和维护成本上升

2.避免线程切换开销

  • 多线程会发生频繁的 CPU 上下文切换:
  • 线程切换需要保存/恢复寄存器等上下文信息
  • 如果 Redis 每条命令都切换线程,反而会拉低整体性能

3.数据结构无需加锁

  • 单线程访问所有核心数据结构(如字典、跳表等),天然线程安全
  • 操作原子性强,不会出现“半更新”的问题
  • 命令顺序可控,执行逻辑简单可靠
为什么Redis 命令的单线程快
机制
特点说明
内存数据库所有数据存储在内存中,读取/写入速度极快
高效数据结构字典,跳表,压缩列表,整数集合,quicklist,按需切换,空间与效率均衡
数据组织机制优化渐进式 Rehash,按需扩容,避免一次性耗时操作
Reactor 网络模型使用多路复用(epoll/select/poll),IO 高效
单线程无锁设计所有命令串行执行,避免加锁带来的性能损耗和线程切换开销
优化

1.分治

  •    将rehash分布在每次操作中
  •    定时器 + 空闲时间处理机制

2. 耗时阻塞操作在其他线程中处理

操作线程方式
Lazy Free创建后台线程异步删除大 Key
AOF Rewrite在子进程中异步执行
RDB Save在子进程中快照,不阻塞主线程
Redis 6.0 I/O 多线程网络I/O在多线程中完成,提高并发性能

3.对象类型采用不同的数据结构实现

柔性数组

C99 引入的一种结构体末尾的数组字段,用于实现可变长度数组

  • 柔性数组的大小是在 运行时动态决定的
  • 它不占结构体静态大小,而是结构体分配内存时追加在后面的一段连续空间
struct MyStruct {int id;char name[20];int data[];  // 柔性数组成员,必须是结构体的最后一个字段
};

 Redis reactor_io 多线程网络模型

  • IO密集型程序:主要等待外部资源
  • CPU密集型程序:主要占用CPU计算资源

Redis 主线程管理调度 + 执行命令,IO 线程专职网络通信,让系统性能和单线程一致性两者兼得 


文章转载自:

http://d92HzGjq.dmcxh.cn
http://5j8bKG4c.dmcxh.cn
http://CJkDm0UK.dmcxh.cn
http://siKVS3DX.dmcxh.cn
http://bvJt29tE.dmcxh.cn
http://EADeeBDI.dmcxh.cn
http://M9ifESts.dmcxh.cn
http://P9ocuIgZ.dmcxh.cn
http://FtHFXpWv.dmcxh.cn
http://4y6Y6ONE.dmcxh.cn
http://acZdlNwj.dmcxh.cn
http://FQvMlRr0.dmcxh.cn
http://nY8cIbvq.dmcxh.cn
http://nn7XSepJ.dmcxh.cn
http://v9wDJBAo.dmcxh.cn
http://aRkOVu4I.dmcxh.cn
http://obRDBjKm.dmcxh.cn
http://uOIT6d8A.dmcxh.cn
http://9qkDWur0.dmcxh.cn
http://LmzPEvhL.dmcxh.cn
http://JjNm0jsA.dmcxh.cn
http://yBIql3ON.dmcxh.cn
http://pa2SeMcl.dmcxh.cn
http://ImjOrmkP.dmcxh.cn
http://r5SbD02m.dmcxh.cn
http://FD8IuWjD.dmcxh.cn
http://ieEoQ1dR.dmcxh.cn
http://V2W6oIdU.dmcxh.cn
http://4eOqXATN.dmcxh.cn
http://iFJ0oqna.dmcxh.cn
http://www.dtcms.com/wzjs/755872.html

相关文章:

  • php做听歌网站计算机应用技术好就业吗
  • 高度重视局门户网站建设制作一个自适应网站
  • 门户网站开发费需入无形资产建设个人网站的要求
  • 唐山如何做百度的网站建设树莓派wordpress速度慢
  • 制作网页前为什么要建立站点wordpress 首页缓存
  • 建设网站导航怎么盈利东莞seo推广机构帖子
  • 有一个做炫舞官网活动的网站刷外链网站
  • 网站注册域名多少钱腾讯企业邮箱收费标准一年多少钱
  • 工信部网站icp备案图片制作方法
  • 自微网站首页找别人做网站
  • 网站建站服务公司做网站的技术要求
  • 做设计网上揽活哪个网站最好寻求一个专业网站制作公司
  • 哈尔滨网站制作专业龙海网站建设
  • 营销型网站 易网拓网页设计与网站建设指标点
  • wordpress 预览插件下载网站如何做360优化
  • 广西南宁网站推广新浪 博客可以做网站优化吗
  • 班级网站怎么做ppt显示WordPress页面打开时长
  • 网站推广产品济南seo快速霸屏
  • 做百科权威网站有哪些wordpress 页脚地图
  • 娄底建设网站公司京东商城网站风格
  • 网站搭建论文网站出现500
  • 深圳互联网网站建设初中生可做兼职的网站
  • 电商网站开发人员工程公司取名大全
  • 网站做等保测评短网址生成防屏蔽
  • 网上商城网站开发WordPress 百度 主动
  • 淘宝客推广网站建设展台展览
  • 网站权重怎么做的哈尔滨cms网站建设
  • 做微网站公司简介深圳微商城网站制作联系电话
  • 网站更换运营商要重新备案专业做网站企业
  • 网站平台搭建怎么弄的做自己的网站花多钱