最新 最热

生日悖论是啥?我用它省了上百G的内存

生日悖论: 是指在不少于 23 个人中至少有两人生日相同的概率大于 50%。例如在一个 30 人的小学班级中,存在两人生日相同的概率为 70%。对于 60 人的大班,这种概率要大于 99%。从引起逻辑矛盾的角度来说,生日悖论并不是一...

2021-01-22
2

Redis中7种集合类型应用场景

Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字。使用Strings类型,你可以完全实现目前 Memcached 的功能,并且效率更高。还可以享受Redis的定时持久化,操作日志及 Replication等功能。除了提...

2021-01-22
7

Redis源码剖析之压缩列表(ziplist)

本来打算只用一篇文章来讲解Redis中的list,在实际写作过程中发现Redis中有多种list的实现,所以准备拆成多篇文章,本文主要讲ziplist,ziplist也是quicklist的基础。另外还有skiplist,skiplist虽然是list,当主要和set命令相关...

2021-01-21
3

Redis源码剖析之快速列表(quicklist)

何为quicklist,上次说到ziplist每次变更的时间复杂度都非常高,因为必须要重新生成一个新的ziplist来作为更新后的list,如果一个list非常大且更新频繁,那就会给redis带来非常大的负担。如何既保留ziplist的空间高效性,又能...

2021-01-21
3

Redis源码剖析之跳表(skiplist)

计算机领域有很多种数据结构,数据结构的存在要么是为了节省时间、要么是为了节省空间,或者二者兼具,所以就有部分数据结构有时间换空间,空间换时间之说。其实还有某些以牺牲准确性来达到节省时间空间的数据结构,像我之间讲...

2021-01-21
2

Redis源码剖析之robj(redisObject)

我们在之前的文章中已经了解过一部分Redis的数据结构了,尤其是dict 中讲到,可以把redis看做一个hashtable,存储了一堆的key-value,今天就来看下key-value中value的主要存储结构redisObject(后文统称robj)。 robj的详细代...

2021-01-21
0

局部性原理——各类优化的基石

学过计算机底层原理、了解过很多架构设计或者是做过优化的同学,应该很熟悉局部性原理。即便是非计算机行业的人,在做各种调优、提效时也不得不考虑到局部性,只不过他们不常用局部性一词。如果抽象程度再高一些,甚至可以说...

2021-01-21
4

【SpringBoot】微信点餐系统

在卖家端登录管理系统用到 我在aop中已经屏蔽了,因为我没有微信开放平台的认证账号,无法登录 可以自行去cn.chenhaoxiang.aspect.SellerAuthorizeAspect将类上的注解放开...

2021-01-21
2

如何完成日千万级别以上的订单对账(二)

距离上篇对账文章也有几个月之久,对账二期系统早已如期上线。 对于该系统,目前只有两个字,稳定得一比。

2021-01-21
3

如何完成日千万级别以上的订单对账(一)

前些日子发表了一篇对账的预热,现在来一篇干货。 文章精而不在多,多了也浪费大家时间。所以,这也是我放弃原来的公众号注册现在这个服务号来进行分享经验的原因之一。每月几篇分享,足以。...

2021-01-21
3