摘要: (转载) 一、什么是布隆过滤器 本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”。 相比于传统的 List、Set、Map 等数据结构,它更高效、占用空间更 阅读全文
posted @ 2020-03-26 21:40 Qmillet 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 1. 数据库自增id 单独使用一个数据库表(无意义,主要用于获取id)获取自增id,再将此id导入到需要的表中。 2. UUID 太长了,作为主键性能太差。 3. 系统当前时间 并发高容易重复。 4. SnowFlake(雪花)算法 snowflake 算法是 twitter 开源的分布式 id 生 阅读全文
posted @ 2020-03-26 20:16 Qmillet 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 一、系统拆分 将一个系统拆分为多个子系统,用 dubbo 来搞。然后每个系统连一个数据库,这样本来就一个库,现在多个数据库,不也可以扛高并发么。 二、缓存 缓存,必须得用缓存。大部分的高并发场景,都是读多写少,那你完全可以在数据库和缓存里都写一份,然后读的时候大量走缓存不就得了。毕竟人家 redis 阅读全文
posted @ 2020-03-26 18:59 Qmillet 阅读(576) 评论(1) 推荐(1) 编辑
摘要: 一、如何实现MySQL读写分离 其实很简单,就是基于主从复制架构,简单来说,就搞一个主库,挂多个从库,然后我们就单单只是写主库,然后主库会自动把数据给同步到从库上去。 二、MySQL 主从复制原理的是啥? 主库将变更写入 binlog 日志,然后从库连接到主库之后,从库有一个 IO 线程,将主库的 阅读全文
posted @ 2020-03-26 18:05 Qmillet 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 一、什么是分库分表 分表 比如你单表都几千万数据了,你确定你能扛住么?绝对不行,单表数据量太大,会极大影响你的 sql 执行的性能,到了后面你的 sql 可能就跑的很慢了。一般来说,就以我的经验来看,单表到几百万的时候,性能就会相对差一些了,你就得分表了。 分表是啥意思?就是把一个表的数据放到多个表 阅读全文
posted @ 2020-03-26 17:36 Qmillet 阅读(318) 评论(0) 推荐(0) 编辑
摘要: redis有三种集群方式:主从复制,哨兵模式和集群。 1.主从复制 主从复制原理: 从服务器连接主服务器,发送SYNC命令; 主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令; 主服务器BGSAVE执行完后,向所有从服务器发送快照文件,并在发送 阅读全文
posted @ 2020-03-26 15:08 Qmillet 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 一、redis cluster 介绍 redis的哨兵模式基本已经可以实现高可用,读写分离 ,但是在这种模式下每台redis服务器都存储相同的数据,很浪费内存,所以在redis3.0上加入了cluster模式,实现的redis的分布式存储,也就是说每台redis节点上存储不同的内容。 Redis-C 阅读全文
posted @ 2020-03-26 15:07 Qmillet 阅读(166) 评论(0) 推荐(0) 编辑