自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 什么是LRU(最近最少使用)算法?

假设这时候缓存容量已经达到上限,必须先删除最近最少访问的数据,那么位于哈希链表最左端的用户1就会被删除掉,然后再把用户6插入到 最右端。长期不被使用的数据,在未来被用到的几率也不大。2.此时,业务方访问用户5,由于哈希链表中没有用户5的数据,我们从数据库中读取出来,插入到缓存当中。这时候,链表中最右端变成了最新访问到的用户2,最左端仍然是最近最少访问的用户1。这时候,链表中最右端是最新访问到的用户4,最左端仍然是最近最少访问的用户1。这时候,链表中最右端是最新访问到的用户5,最左端是最近最少访问的用户1。

2024-07-24 14:03:38 439

原创 RocketMQ 如何保证消息不丢失,重复消费

比如你不是上面两个场景,那做的稍微复杂一点,你需要让生产者发送每条数据的时候,里面加一个全局唯一的 id,类似订单 id 之类的东西,然后你这里消费到了之后,先根据这个 id 去比如 Redis 里查一下,之前消费过吗?producer消息发送方式虽然有3种,但为了减小丢失消息的可能性尽量采用同步的发送方式,同步等待发送结果,利用同步发送+重试机制+多个master节点,尽可能减小消息丢失的可能性。幂等性,通俗点说,就一个数据,或者一个请求,给你重复来多次,你得确保对应的数据是不会改变的,不能出错。

2024-07-24 13:59:34 817

原创 Redis的主从复制、读写分离

如果我们在主redis服务器上设置了密码,即:在redis.conf配置文件中使用了requirepass 123456(你设置的密码);那么我们在从redis服务器上的配置文件redis.conf中使用了slaveof 127.0.0.1 6379后发现:主从复制失败。

2024-07-15 22:57:15 674

原创 延时双删实现MySQL和Redis的数据一致性

于是有了方案二,在方案二中,启动一个订阅程序去订阅数据库的binlog,获得需要操作的数据。最后的写数据的休眠时间:则在读数据业务逻辑的耗时的基础上,加上几百ms即可。上述的方案有一个缺点,那就是操作完数据库后,由于种种原因删除缓存失败,这时,可能就会出现数据不一致的情况。1.如果删除了缓存Redis,还没有来得及写库MySQL,另一个线程就来读取,发现缓存为空,则去数据库中读取数据写入缓存,此时缓存中为脏数据。2.如果先写了库,在删除缓存前,写库的线程宕机了,没有删除掉缓存,则也会出现数据不一致情况。

2024-07-12 16:42:28 440

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除