Redis高级运用 一、管道连接redis(一次发送多个命令,节省往返时间) 1.安装nc 2.通过nc连接redis 3.通过echo向nc发送指令 二、发布订阅(pub/Sub) 三、事务(transactions) 四、布隆过滤器(redisbloom) 在redis.io/modules选择 ...
分类:
其他好文 时间:
2019-09-13 01:35:22
阅读次数:
90
掌握高并发、高可用架构第三章分布式本章介绍分布式架构的底层技术。主要说明面试过程中可能被问到的技术点。第四节缓存缓存穿透缓存学雪崩RedisMemcachedGuava1.缓存使用中的几个问题缓存穿透:查询缓存和数据库中一定不存在的数据时,每次查询都是直接到数据库的,这种现象称为缓存穿透此时,如果有大量的请求时,会对数据库造成直接冲击,甚至会导致崩溃缓存空数据使用BloomFilter(布隆过滤器
分类:
其他好文 时间:
2019-09-02 22:18:07
阅读次数:
113
我们对于位运算可能既陌生又熟悉。知道其运算方法运算过程,但不能运用好它。 首先,我们还是回顾一下Java中位运算都包含那些操作: 一、与运算(&) 运算法则:将二进制数进行按位与运算。0&0=0;0&1=0;1&1=1 ; 如:0011 & 0010 = 0010; 二、或运算(|) 运算法则:将二 ...
分类:
编程语言 时间:
2019-08-25 01:00:09
阅读次数:
122
一、布隆过滤器 1、维基百科 布隆过滤器(Bloom Filter)是1970年由布隆提出的。 实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。 优点是不需要存储 key,节省空间,空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除 ...
分类:
其他好文 时间:
2019-08-18 21:40:20
阅读次数:
103
大数据与空间限制问题 statement:本篇文字是看书(最后有介绍)的总结,仅限于想法,没有代码实现。 1. 布隆过滤器:100亿个黑名单网页,使用额外空间不超过30GB,允许万分之一失误率。 常见于建立黑名单时过滤使用。使用多个(就k吧)相互独立的优秀的hash函数,创建一个m个bit的数组,先 ...
分类:
其他好文 时间:
2019-08-15 15:50:51
阅读次数:
74
布隆过滤器 Bloom Filter 过滤器的作用:判断元素在还是不在。(如图查询 w 在不在集合中) 布隆过滤器:?个很长的二进制向量和一系列随机映射函数。 布隆过滤?可以用于检索一个元素是否在?个集合中(如果检测出元素不在集合中,那一定不在;如果检测出元素在集合中,有一定可能判断错误)。 它的优 ...
分类:
其他好文 时间:
2019-08-13 00:31:18
阅读次数:
87
数据过滤在很多场景都会应用到,特别是在大数据环境下。在数据量很大的场景实现过滤或者全局去重,需要存储的数据量和计算代价是非常庞大的。很多小伙伴第一念头肯定会想到布隆过滤器,有一定的精度损失,但是存储性能和计算性能可以达到几何级别的提升。很多第三方框架也实现了相应的功能,比如hbase框架实现的布隆过 ...
分类:
其他好文 时间:
2019-06-30 14:02:23
阅读次数:
134
题目描述 一个网站有 100 亿 url 存在一个黑名单中,每条 url 平均 64 字节。这个黑名单要怎么存?若此时随便输入一个 url, 你如何快速判断该 url 是否在这个黑名单中 ? 题目解析 这是一道经常在面试中出现的算法题。凭借着题目极其容易描述,电面的时候也出现过。 不考虑细节的话,此 ...
分类:
Web程序 时间:
2019-06-30 14:01:37
阅读次数:
482
1.什么是缓存击穿 一般是指,通过高并发一些无效的数据访问你的数据库,缓存没有,直接访问你的数据库,大量恶意的攻击,造成数据库的查询变慢; 2,有效解决办法, 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一 ...
分类:
其他好文 时间:
2019-06-16 00:28:09
阅读次数:
154
前言 redis在4.0版本以后可通过插件的形式添加布隆过滤器,以下为具体操作。 操作 在下载最新的release源码,在编译服务器进行解压编译: tar zxvf RedisBloom 1.1.1.tar.gz cd RedisBloom 1.1.1 make 得到动态库rebloom.so 启动 ...
分类:
其他好文 时间:
2019-05-24 15:43:31
阅读次数:
456