基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git

1.基数统计算法 HyperLogLog

不重复的统计哦
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git

基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
开启并查看服务器(shutdown 关机 、 exit 退出服务器)
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
role 命令查看自己得角色
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
端口连接:
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
找到主机角色,才可以写入哦
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git

它只有三个命令:
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
三个命令实例:
都去重的哦
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git

2. 布隆过滤器 (需要以模块方式引入哦! 首先用git 下载)

基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git

安装
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
启动
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
连接一下:
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
bf 一下验证import成功
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git

命令如下:
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git

实例添加 bf
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
bf madd 一次添加多个
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
一次判断多个是否存在
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
**bf.reserve key 错误率 元素存储大小 共三个参数
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
第三个参数大小会使得准确率下降

使用场景可以是 url 的去重等

###processon 画图软件, 我自己下载下。###

3. 缓存雪崩 、缓存穿透

3.1缓存雪崩

基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
**解决方案是:

  1. 设置失效时间随机,保证同一时刻不要有大量缓存失效。
  2. 主从和集群**
    基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git

3.2缓存穿透
如:postman 异常查询条件导致

基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
解决方案:
1.后端验证
2.使用布隆过滤器(布隆过滤器没有的话,数据库里一定没有)
3. id=-1 空值
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
3.3缓存击穿
一个热点key,在某一个时刻失效,所有用户都请求这个key,导致这个key崩。
如热搜。

基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
解决方案:
1.mysql 数据库中加锁,不让所有人同时请求这个key,要排队。
2. 让热点key 永不过期。 过期才会打到数据库,做热点的缓存。

原理自己看雀语。

总结:hyperLogLog 和布隆过滤器都是解决缓存穿透

4.内存淘汰策略

两种方法

5. redis 性能测试

基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
很多的命令格式
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
每秒处理的存取量测试
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
看看用和不用管道的吞吐量区别
竟然差10倍, 管道效率真的高。
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git

6. Redis 慢查询

测试调试时用吧, 正式发布后,就别了。
具体基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
具体命令看手册!

10000是微妙单位
128条记录
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
than 0 是每一条后面的指令都会被记录
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
注意 ls -a 查看所有文件,包含隐藏文件。
:wq 保存退出

7.哨兵

自动故障转移
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
如果 A 挂了。BC就没用了。
我们该做什么? 把其中一个从机变成主机。这是手动操作。
但是如果晚上呢? 人值班?
所以用哨兵,监督redis主服务器 ,并将BC中一个挑选一个作为主机,自动来容灾恢复。
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
一主二从配置和运行效果
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git

主机进程号 14455 被kill
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
看看哨兵反应
6377变成了6379的master身份,因为6379挂了。
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git

就是做了以下的工作。其实也可以配置多个哨兵
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git

再看看插图插曲
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git

8. 初始Git

基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
如果没有分布式,则中心一挂,就完蛋, 所以有了git ,保证了中心有问题,也不会完蛋。
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git
做版本控制,有利于出问题时回滚。
基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git