![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日八股
文章平均质量分 81
你白勺男孩TT
这个作者很懒,什么都没留下…
展开
-
HashMap夺命3连问
HashMap扩容三连问原创 2023-06-27 17:19:00 · 262 阅读 · 0 评论 -
每日八股-Redis篇-完结
单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,可以搭建主从集群,实现读写分离。一般都是一主多从,主节点负责写数据,从节点负责读数据,主节点写入数据之后,需要吧数据同步到从节点中。原创 2023-06-15 17:40:16 · 1159 阅读 · 0 评论 -
每日八股-Redis篇-06
当Redis中的内存不够用时,此再向Redis中添加新的key,那么Redis就会按照某一种规则将内存中的数据删除掉,这种数据的删除规则被称为内存的淘汰策略。3.如果业务中有置顶的需求,可以使用volatile-lru策略,同时置顶数据不设置过期时间,这些数据就一直不被删除,会淘汰其他设置过期时间的数据。每隔一段时间,我们就对一些key进行检查,删除里面过期的key(从一定数量的数据库中取出一定数量的随机key进行检查,并删除其中过期的key)充分利用LRU的算法优势,把最近最常访问的数据留在缓存中。原创 2023-06-14 17:17:52 · 1234 阅读 · 0 评论 -
每日八股-Redis篇-05
RDB因为是二进制文件,在保存的时候体积也是比较小的,它恢复的比较快,但是它有可能会丢数据,我们通常在项目中也会使用AOF来恢复数据,虽然AOF恢复的速度慢一些,但是它丢数据的风险要小很多,在AOF文件中可以设置刷盘策略,我们当时设置的就是每秒批量写入一次命令。在读的时候添加共享锁,可以保证读读不互斥,读写互斥。延时双删,如果是写操作,我们先把缓存中的数据删除,然后更新数据库,最后再延时删除缓存中的数据,其实这个延时多久不太好确定,在延时的过程中可能会出现脏数据,并不能保证强一致性,所以没有采用它。原创 2023-06-05 08:30:00 · 512 阅读 · 0 评论 -
每日八股-Redis篇-缓存三兄弟-04
缓存穿透是指查询一个一定不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到DB去查询,可能导致DB挂掉。这种情况大概率是遭到了攻击。解决方案的话,我们通常会用布隆过滤器来解决它。布隆过滤器主要是用于检索一个元素是否存在一个集合中。我们当时使用的是Redisson实现的布隆过滤器。它的底层主要是先去初始化一个比较大的数组,里面存放的二进制0或1。原创 2023-06-04 13:09:37 · 192 阅读 · 0 评论 -
每日八股-Redis篇-03
事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序执行。事务在执行的过程中,不会被其他客户端发送过来的命令请求打断。事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。原子性(Atomicity):是指事务是一个不可分割的工作单位,事务中的操作要么全部都发生,要么都不发生。一致性(Consistency):事务前后数据的完整性必须保持一致。隔离性(Isolation):多个事务并发执行时,一个事务的执行不应影响其他事务的执行。持久性(Durability)原创 2023-06-02 12:02:26 · 372 阅读 · 0 评论 -
每日八股-Redis篇-02
Redis的主从复制是一种机制,其中一个Redis服务器(主节点)可以将其数据复制到一个或多个其他Redis服务器(从节点)。主节点负责处理写操作并将更新的数据复制到从节点,从节点则负责接收复制的数据并提供读取服务。:Redis的发布与订阅模式是一种消息传递机制,其中发布者(Publisher)将消息发送到频道(Channel),而订阅者(Subscriber)可以订阅感兴趣的频道并接收相应的消息。:Redis的事务是通过MULTI、EXEC、DISCARD和WATCH等命令来实现的。原创 2023-05-31 19:06:37 · 605 阅读 · 0 评论 -
每日八股-Redis篇-01
Redis常见面试题原创 2023-05-30 18:45:17 · 584 阅读 · 0 评论