摘要: Redis技术交流群 481804090 Redis:https://github.com/zwjlpeng/Redis_Deep_Read Redis中采用两种算法进行内存回收,引用计数算法以及LRU算法,在操作系统内存管理一节中,我们都学习过LRU算法(最近最久未使用算法),那么什么是LRU算法 阅读全文
posted @ 2018-08-20 15:32 割肉机 阅读(950) 评论(0) 推荐(0) 编辑
摘要: 序言 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案。实际上这意味着你可以使用Sentinel模式创建一个可以不用人为干预而应对各种故障的Redis部署。 它的主要功能有以下几点 监控:Sentinel不断的检查master和slave是否正常的运行。 通知:如果发现某个 阅读全文
posted @ 2018-08-20 15:29 割肉机 阅读(4437) 评论(0) 推荐(0) 编辑
摘要: 漏斗限流是最常用的限流方法之一,漏斗流水的速率大于灌水的速率,漏斗就永远装不满,反之水就会溢出。 所以漏斗的剩余空间就代表当前行为可以持续进行的数量,水流出的速率代表系统允许该行为的最大频率。 import time class Funnel: def __init__(self, capacity 阅读全文
posted @ 2018-08-20 14:46 割肉机 阅读(5023) 评论(0) 推荐(0) 编辑
摘要: 一、场景描述 很多做服务接口的人或多或少的遇到这样的场景,由于业务应用系统的负载能力有限,为了防止非预期的请求对系统压力过大而拖垮业务应用系统。 也就是面对大流量时,如何进行流量控制? 服务接口的流量控制策略:分流、降级、限流等。本文讨论下限流策略,虽然降低了服务接口的访问频率和并发量,却换取服务接 阅读全文
posted @ 2018-08-20 14:45 割肉机 阅读(11846) 评论(0) 推荐(0) 编辑
摘要: 业务背景介绍 对于web应用的限流,光看标题,似乎过于抽象,难以理解,那我们还是以具体的某一个应用场景来引入这个话题吧。 在日常生活中,我们肯定收到过不少不少这样的短信,“双11约吗?,千款….”,“您有幸获得唱读卡,赶快戳链接…”。这种类型的短信是属于推广性质的短信。为什么我要说这个呢?听我慢慢道 阅读全文
posted @ 2018-08-20 14:28 割肉机 阅读(1358) 评论(0) 推荐(0) 编辑
摘要: Python分布式爬虫打造搜索引擎Scrapy精讲—将bloomfilter(布隆过滤器)集成到scrapy-redis中,判断URL是否重复 布隆过滤器(Bloom Filter)详解 基本概念 如果想判断一个元素是不是在一个集合里,一般想到的是将所有元素保存起来,然后通过比较确定。链表,树等等数 阅读全文
posted @ 2018-08-20 14:10 割肉机 阅读(1922) 评论(0) 推荐(0) 编辑
摘要: Redis Cluster本身提供了自动将数据分散到Redis Cluster不同节点的能力,分区实现的关键点问题包括:如何将数据自动地打散到不同的节点,使得不同节点的存储数据相对均匀;如何保证客户端能够访问到正确的节点和数据;如何保证重新分片的过程中不影响正常服务。这篇文章通过了解这些问题来认识R 阅读全文
posted @ 2018-08-20 13:57 割肉机 阅读(1659) 评论(0) 推荐(0) 编辑
摘要: 前言 Reids 在 Web 应用的开发中使用非常广泛,几乎所有的后端技术都会有涉及到 Redis 的使用。Redis 种除了常见的字符串 String、字典 Hash、列表 List、集合 Set、有序集合 SortedSet 等等之外,还有一些不常用的数据类型,这里着重介绍三个。下面话不多说了, 阅读全文
posted @ 2018-08-20 13:43 割肉机 阅读(795) 评论(1) 推荐(0) 编辑
摘要: 1.HyperLoglog简介 HyperLoglog是redis新支持的两种类型中的另外一种(上一种是位图类型Bitmaps)。主要适用场景是海量数据的计算。特点是速度快。占用空间小。 同样是用于计算,HyperLoglog在适用场景方面与Bitmaps方面有什么不同呢。我个人的理解是,Bitma 阅读全文
posted @ 2018-08-20 13:32 割肉机 阅读(8702) 评论(0) 推荐(0) 编辑
摘要: 比如一个网站有1亿个用户, 现在要统计一周内连续登录的用户 方法:可以用一个字节8个位表示7个人, 首位不算固定为0, 若某人周一登录则置为1, 没登录则为0 127.0.0.1:6379> set mon 01010100 OK 127.0.0.1:6379> set thu 01100101 O 阅读全文
posted @ 2018-08-20 13:08 割肉机 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 区块链是比特币的底层技术和基础架构,本质上是一个去中心化的数据库。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)并生成下一个区块。 狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密 阅读全文
posted @ 2018-08-20 10:40 割肉机 阅读(532) 评论(0) 推荐(0) 编辑
摘要: 有限状态机,也称为FSM(Finite State Machine),其在任意时刻都处于有限状态集合中的某一状态。当其获得一个输入字符时,将从当前状态转换到另一个状态,或者仍然保持在当前状态。任何一个FSM都可以用状态转换图来描述,图中的节点表示FSM中的一个状态,有向加权边表示输入字符时状态的变化 阅读全文
posted @ 2018-08-20 10:23 割肉机 阅读(13976) 评论(0) 推荐(0) 编辑
摘要: 延迟队列,顾名思义它是一种带有延迟功能的消息队列。 那么,是在什么场景下我才需要这样的队列呢? 背景 我们先看看以下业务场景: 当订单一直处于未支付状态时,如何及时的关闭订单,并退还库存? 如何定期检查处于退款状态的订单是否已经退款成功? 新创建店铺,N天内没有上传商品,系统如何知道该信息,并发送激 阅读全文
posted @ 2018-08-20 10:10 割肉机 阅读(2336) 评论(0) 推荐(0) 编辑