- 博客(11)
- 收藏
- 关注
原创 redis学习笔记(三)内存过期管理与持久化机制
那么什么是过期策略。首先,我们知道Redis有一个特性,就是Redis中的 数据我都是可以设置过期时间的,如果时间到了,这个数据就会从我们的 Redis中删除。那么我们类比一个例子,假如把我们Redis容器比作一个冰箱。冰箱里面也会放菜,菜就是我们的数据,数据跟菜都会过期。那么我们冰箱里面假如有菜坏掉了,我们一般怎么去发现的?
2024-09-25 17:59:13
1037
原创 Redis学习笔记(一)redis基本数据类型
那么我们是不是可以把本来应该每次去db查的数据,在第一次查询的时候,把数据放到mysql,这样后续的查找就不用每次都去DB拿,而是优先 从redis读取。我们ID一般用的是数据库自增的ID每个表的数据的ID都是每个表自增的。代码就行了,当页面被访问的时候,就会自动把访客的信息发送 到这些网站统计的服务器,并且准实时的展示出来。那么如果还简单用数据库自增ID的话 ,我不同的表里数据不同但是ID相同,我的ID就不能标志数据的一致性。sorted set,有序的set,每个元素有个score。
2024-09-25 15:25:17
778
原创 MQ学习笔记(三) MQ高频面试题
高吞吐量、低延迟(kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个 partition, consumer group 对partition进行consume操作)可扩展性(kafka集群支持热扩展)持久性、可靠性(消息被持久化到本地磁盘,并且支持数据备份防止数据丢失)容错性(允许集群中节点失败(若副本数量为n,则允许n-1个节点失败))高并发(支持数千个客户端同时读写)
2024-09-23 17:50:39
2135
原创 MQ学习笔记(二)Kafak Producer、Broker、Consumer原理
生产者的消息发出后,如果说网络出了问题,或者说kafka服务端接收的时候出了问题,这个消息发送失败了,生产 者是不知道的;Kafka服务端应该要有一种响应客户端的方式,只有在服务端确认以后,生产者才发送下一轮的消 息,否则重新发送数据;第一次会随机选择一个分区,并尽可能一直使用该分区,待该分区的batch已满或者已完成,Kafka再随机 一个分区进行使用(和上一次的分区不同)选择分区以后并没有直接发送消息,而是把消息放入了消息累加器中,Batch满了之后,会唤醒Sender线程,发送消息。
2024-09-23 16:57:42
628
原创 MQ学习笔记(一)Kafka简介
Message Queue 消息队列 ,在消息的传递过程中保存消息的容器。父亲==》书架《==儿子好处:应用解耦,异步提速,限流削峰使用成本:引入复杂度,最终一致性,高可用性何时使用:生产者不需要从消费者处获得反馈能够容忍短暂的不一致性效果要大于副作用。
2024-09-16 17:28:17
1292
原创 MySQL学习笔记(五)InnoDB事务与锁
MVCC 是适合用于处查询的时候使用,能提供很高的性能,我们的事务不仅仅是只有读,我们还有写情况,为了保证数据不丢失,我们需要拿到最新的数据进行更改。数据库并发场景有三种,分别为:1、读读: 不存在任何问题,也不需要并发控制2、读写、写读: 有线程安全问题,可能会造成事务隔离性问题,可能遇到脏读、幻读、不可重复读。3、写写: 有线程安全问题,可能存在更新丢失问题。
2024-09-16 12:10:27
2215
原创 MySQL学习笔记(四)MySQL慢查询优化
慢速查询日志由执行时间超过几秒并且至少需要检查行的SQL语句组成慢查询数据保存在表中慢查询优化我们知道,Mysql性能最重要的瓶颈在磁盘的IO,所以硬件层面,最重要的其实就是磁盘。1.提高磁盘读写能力,可以用比较新型的磁盘2.减少寻址时间,可以横向扩展,将数据添加到不同的磁盘,每个磁盘数据的寻址通常1s 100次寻址,那么单个磁盘有限制,就多个磁盘寻址当然,除了磁盘以外,cpu、内存以及带宽也是比较重要的因素部署主从、多主多从等集群。
2024-09-12 17:57:03
2354
原创 MySQL学习笔记(三)InnoDB索引
首先,我们知道我们每个表都会去有一个主键索引树,是根据主键进行排序的B+树,树的特性是会加快查询速度,但是在添加数据的时候,是要去维护这个树的,如果是递增的,我们只需要往树上添加节点,那么假如如果不是趋势递增的,那么我们会引发树的分裂与合并。我们可以说,当无序增加、更新主键ID、删除索引页的更新操作时候,会有大 量的树结点调整,触发子叶结点Page页和上层叶结点和根节点页的分页与合并,造 成大量磁盘碎片,损耗数据库的性能,也就是解释了我们为什么不要在频繁更新修改的列上建索引,或者是不要去更新主键。
2024-09-12 15:24:25
1035
原创 MySQL学习笔记(二)InnoDB内存模型与磁盘同步机制
当我们将数据存放到内存,这时候我们的系统中将存在两分数据,一份在内存,一份在磁盘,这时候如果我们对数据进行操作,可能会导致两边数据不同步,那我们就需要对两边数据进行同步处理。的大小是固定的,写入的日志数量是有限制的,并且它的目的只是去保证数据不丢失,数据落盘了,这些日志就没有用了,所以 RedoLog采用的是循环覆盖写的方式。RedoLog的目的,是去保证我的数据页在内存,但是还没有同步到磁盘的时候,宕机导致的数据丢失。是一种顺序IO,纪录了哪个页,哪个磁盘哪个扇区,哪个offset的变更,是循环写入的。
2024-09-11 23:45:36
1296
原创 MySQL学习笔记(一)MySQL简介
什么是MySql?MySQL其实是一种关系型数据库,什么是关系型数据库?关系表数据库,由表结构来存储数据与 数据之间的关系,同时用sqlStructured) 翻译过来叫做 结构化查询语句 来进行数据操作。
2024-09-10 19:22:03
969
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅