概述
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的全部内容,希望文章能够帮你解决基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复