1.基数统计算法 HyperLogLog
不重复的统计哦



开启并查看服务器(shutdown 关机 、 exit 退出服务器)

role 命令查看自己得角色

端口连接:

找到主机角色,才可以写入哦

它只有三个命令:

三个命令实例:
都去重的哦

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


安装

启动

连接一下:

bf 一下验证import成功

命令如下:

实例添加 bf

bf madd 一次添加多个

一次判断多个是否存在

**bf.reserve key 错误率 元素存储大小 共三个参数

第三个参数大小会使得准确率下降
使用场景可以是 url 的去重等
###processon 画图软件, 我自己下载下。###
3. 缓存雪崩 、缓存穿透
3.1缓存雪崩

**解决方案是:
- 设置失效时间随机,保证同一时刻不要有大量缓存失效。
- 主从和集群**

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

解决方案:
1.后端验证
2.使用布隆过滤器(布隆过滤器没有的话,数据库里一定没有)
3. id=-1 空值

3.3缓存击穿
一个热点key,在某一个时刻失效,所有用户都请求这个key,导致这个key崩。
如热搜。

解决方案:
1.mysql 数据库中加锁,不让所有人同时请求这个key,要排队。
2. 让热点key 永不过期。 过期才会打到数据库,做热点的缓存。
原理自己看雀语。
总结:hyperLogLog 和布隆过滤器都是解决缓存穿透
4.内存淘汰策略
两种方法
5. redis 性能测试

很多的命令格式

每秒处理的存取量测试

看看用和不用管道的吞吐量区别
竟然差10倍, 管道效率真的高。

6. Redis 慢查询
测试调试时用吧, 正式发布后,就别了。
具体
具体命令看手册!
10000是微妙单位
128条记录

than 0 是每一条后面的指令都会被记录

注意 ls -a 查看所有文件,包含隐藏文件。
:wq 保存退出
7.哨兵
自动故障转移

如果 A 挂了。BC就没用了。
我们该做什么? 把其中一个从机变成主机。这是手动操作。
但是如果晚上呢? 人值班?
所以用哨兵,监督redis主服务器 ,并将BC中一个挑选一个作为主机,自动来容灾恢复。

一主二从配置和运行效果

主机进程号 14455 被kill

看看哨兵反应
6377变成了6379的master身份,因为6379挂了。

就是做了以下的工作。其实也可以配置多个哨兵

再看看插图插曲

8. 初始Git

如果没有分布式,则中心一挂,就完蛋, 所以有了git ,保证了中心有问题,也不会完蛋。

做版本控制,有利于出问题时回滚。

最后
以上就是落寞秋天最近收集整理的关于基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git的全部内容,更多相关基数统计算法内容请搜索靠谱客的其他文章。
发表评论 取消回复