上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 18 下一页

PHP底层数据存储结构-哈希表

摘要: 上一节已经介绍了php数据的存储结构,下面我们看看PHP中的哈希表是怎么实现的。 PHP的哈希实现 PHP内核中的哈希表是十分重要的数据结构,PHP的大部分的语言特性都是基于哈希表实现的, 例如:变量的作用域、函数表、类的属性、方法等,Zend引擎内部的很多数据都是保存在哈希表中的。 数据结构及说明 阅读全文
posted @ 2021-12-04 16:47 1450811640 阅读(405) 评论(0) 推荐(0) 编辑

PHP底层变量存储结构

摘要: 今天来复习一下php的底层数据存储结构 PHP之所以成为一个简单而强大的语言,很大一部分的原因是它拥有弱类型的变量。 但是有些时候这也是一把双刃剑,使用不当也会带来一些问题。就像仪器一样,越是功能强大, 出现错误的可能性也就越大。在官方的PHP实现内部,所有变量使用同一种数据结构(zval)来保存, 阅读全文
posted @ 2021-12-04 16:29 1450811640 阅读(215) 评论(0) 推荐(0) 编辑

Zookeeper高可用原理及角色分析

摘要: 高可用机制 一个 ZooKeeper 集群如果要对外提供可用的服务,那么集群中必须要有过半的机器正常工作并且彼此之间能够正常通信。 如果想搭建一个能够允许 N 台机器 down 掉的集群,那么就要部署一个由 2*N+1 台服务器构成的 ZooKeeper 集群。 所以部署3个节点,那么就得至少有2个 阅读全文
posted @ 2021-12-02 21:05 1450811640 阅读(496) 评论(0) 推荐(0) 编辑

redis缓存问题与数据一致性问题

摘要: 对于读多写少的高并发场景,我们会经常使用缓存来进行优化。比如说支付宝的余额展示功能,实际上99%的时候都是查询,1%的请求是变更,所以,我们在这样的场景下,可以加入缓存,用户->余额 1.Redis缓存与数据一致性问题 那么基于上面的这个出发点,问题就来了,当用户的余额发生变化的时候,如何更新缓存中 阅读全文
posted @ 2021-12-02 10:35 1450811640 阅读(190) 评论(0) 推荐(0) 编辑

redis底层数据结构(7)字典

摘要: 字典在Redis中的应用非常广泛,数据库与哈希对象的底层实现就是字典。 一、复习散列表# 1.1 散列表# 散列表(哈希表),其思想主要是基于数组支持按照下标随机访问数据时间复杂度为O(1)的特性。可是说是数组的一种扩展。假设,我们为了方便记录某高校数学专业的所有学生的信息。要求可以按照学号(学号格 阅读全文
posted @ 2021-12-01 11:59 1450811640 阅读(46) 评论(0) 推荐(0) 编辑

redis底层数据结构(6)整数集合

摘要: 整数集合(intset)并不是一个基础的数据结构,而是Redis自己设计的一种存储结构,是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时, Redis i就会使用整数集合作为集合键的底层实现。 一、整数集合实现# 整数集合(intset)是Redis用于保存整数值的集 阅读全文
posted @ 2021-12-01 11:29 1450811640 阅读(66) 评论(0) 推荐(0) 编辑

redis底层数据结构(5)快读列表(quicklist)

摘要: 之前的文章我们曾总结到了Redis数据结构——链表和Redis数据结构——压缩列表这两种数据结构,他们是Redis List(列表)对象的底层实现方式。但是考虑到链表的附加空间相对太高,prev 和 next 指针就要占去 16 个字节 (64bit 系统的指针是 8 个字节),另外每个节点的内存都 阅读全文
posted @ 2021-12-01 10:59 1450811640 阅读(137) 评论(0) 推荐(0) 编辑

redis底层数据结构(4)链表(双向五环链表)

摘要: Redis链表为双向无环链表! Redis之数据结构——简单动态字符串SDS提到Redis使用了简单动态字符串,链表,字典(散列表),跳跃表,整数集合,压缩列表这些数据结构来操作内存,并且简单介绍了Redis简单动态字符串。本篇文章我们继续来分析链表。 链表是一种非常常见的数据结构,在Redis中使 阅读全文
posted @ 2021-12-01 10:46 1450811640 阅读(157) 评论(0) 推荐(0) 编辑

redis底层数据结构(3)压缩列表

摘要: 同整数集合一样压缩列表也不是基础数据结构,而是 Redis 自己设计的一种数据存储结构。它有点儿类似数组,通过一片连续的内存空间,来存储数据。不过,它跟数组不同的一点是,它允许存储的数据大小不同。 一、压缩列表# 听到“压缩”两个字,直观的反应就是节省内存。之所以说这种存储结构节省内存,是相较于数组 阅读全文
posted @ 2021-11-30 21:36 1450811640 阅读(109) 评论(0) 推荐(0) 编辑

redis底层数据结构(2)简单动态字符串SDS

摘要: 相信用过Redis的人都知道,Redis提供了一个逻辑上的对象系统构建了一个键值对数据库以供客户端用户使用。这个对象系统包括字符串对象,哈希对象,列表对象,集合对象,有序集合对象等。但是Redis面向内存并没有直接使用这些对象。而是使用了简单动态字符串,链表,字典(散列表),跳跃表,整数集合,压缩列 阅读全文
posted @ 2021-11-30 21:29 1450811640 阅读(51) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 18 下一页