2019年2月20日

缓存雪崩

摘要: 一、缓存雪崩 缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间(例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。 阅读全文

posted @ 2019-02-20 18:33 范兵 阅读(420) 评论(0) 推荐(0) 编辑

一致性hash(整理版)

摘要: 简单解释: 简单解释一致性hash的原理:网上通篇都是用服务器做的举例,我这里也如此,主要是便于理解。 通常:有N个客户端请求服务器,假设有M台web服务器,通常为了均衡访问会进行N%M的取模,然后分配到不同的缓存服务器访问。问题是一旦缓存服务器增加或减少时缓存的命中率被打乱,因为取模发生了变化。例 阅读全文

posted @ 2019-02-20 18:28 范兵 阅读(274) 评论(0) 推荐(0) 编辑

MD5状态变量,为什么是A=0x67452301,B=0xefcdab89,C=0x98badcfe,D=0x10325476这几个变量

摘要: 找到过一篇答复: 他们选择的数字只是按顺序递增和递减单个十六进制数字(这似乎是一组令人愉快的任意初始值)。 因为他们首先编写低位字节,当你用右边最低有效字节写它时,你会得到0x67452301等。 其实只是简单的找了4个16进制的变量 分别是 A=01234567 B=89abcdef C=fedc 阅读全文

posted @ 2019-02-20 14:20 范兵 阅读(3418) 评论(0) 推荐(0) 编辑

理解大小端字节序

摘要: 学过编程的人都应该知道大小端字节序的概念,但是很多时候,总是把他们弄混,这是整理出来的一份很简单的方式理解字节序的文章,废话不多说,这里直接入正题。 什么是字节序? 字节序,简单来说,就是指的超过一个字节的数据类型在内存中存储的顺序 那么就很明显了,像char这样的类型,肯定不存在字节序的问题了。 阅读全文

posted @ 2019-02-20 14:15 范兵 阅读(7073) 评论(1) 推荐(2) 编辑

导航