![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
中间件
文章平均质量分 93
流华追梦
15年+ IT从业经验,互联网高级算法工程师、Java语言专家、.Net专家、博客专家、阿里云专家、CSDN2023博客之星,CSDN付费资源项目实践专家,谢谢关注!
展开
-
四种策略让 MySQL 和 Redis 数据保持一致
先阐明一下 MySQL 和 Redis 的关系:MySQL 是关系型数据库,用来持久化数据,一定程度上保证数据的可靠性;Redis 是 K-V 缓存,用来提升数据访问的性能。关于如何保证 MySQL 和 Redis 中的数据一致(即缓存一致性问题),这是一个非常经典的问题。使用过缓存的人都应该知道,在实际应用场景中,要想实时保证缓存和数据库中的数据一样,很难做到。基本上都是尽可能让他们的数据在绝大部分时间内保持一致,并保证最终是一致的。原创 2024-05-15 07:30:00 · 551 阅读 · 0 评论 -
Redis 为什么要分16个库
在实际的项目中,Redis 常被用作缓存、分布式锁、消息队列等的解决方案。但是在搭建好Redis 服务后,Redis 默认创建了16个数据库(db0 - db15),而在 Redis 集群下只有一个 db0 数据库。1. Redis 实例默认创建了16个数据库,且不支持自定义命名,以 dbX 的方式命名(db0 - db15)。2. 默认数据库的数量可以在配置文件中修改。原创 2024-01-12 08:00:00 · 1072 阅读 · 0 评论 -
消息中间件 —— ActiveMQ 使用及原理详解
一开始消息中间件的厂商繁多,且各个厂商之间没有统一的规范,这就导致了各消息中间件非常难以整合协作,因此,后来陆续出现了如 JMS 和 AMQP 这样的消息队列规范,提供了统一的标准,而 ActiveMQ 就是完全遵循 JMS 规范开发的消息队列。原创 2024-01-04 09:11:34 · 1859 阅读 · 3 评论 -
分布式锁详解
什么是分布式锁?线程锁和进程锁仅能满足在单机 JVM 或者同一个操作系统下,才能有效。跨JVM 系统,无法满足。因此就产生了分布式锁,完成锁的工作。1. DB 操作性能较差,并且有锁表的风险。2. 非阻塞操作失败后,需要轮询,占用 cpu 资源。3. 长时间不 commit 或者长时间轮询,可能会占用较多连接资源。原创 2023-12-05 09:17:37 · 901 阅读 · 0 评论 -
Redis 缓存失效 之 缓存穿透、缓存击穿、缓存雪崩及其解决方案
缓存穿透、缓存击穿和缓存雪崩都是常见的缓存问题,下面分别介绍它们的定义和解决方法:指的是恶意用户或攻击者通过请求不存在于缓存和后端存储中的数据来使得所有请求都落到后端存储上,导致系统瘫痪。解决方案通常包括使用布隆过滤器或者黑白名单等方式来过滤掉无效请求,以及在应用程序中加入缓存预热等机制。指的是在高并发访问下,某个热点数据失效后,大量请求同时涌入后端存储,导致后端存储负载增大、响应时间变慢,甚至瘫痪。原创 2023-12-04 10:51:47 · 989 阅读 · 0 评论 -
布隆过滤器(Bloom Filter)全面讲解
布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好得多,缺点是有一定的误识别率和删除困难。原创 2023-12-01 11:03:39 · 1333 阅读 · 0 评论 -
中间件 - 分布式协调服务Zookeeper
Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、命名服务、分布式同步、组服务等。 Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储, Zookeeper 作用主要是用来维护和监控存储的数据的状态变化,通过监控这些数据状态的变化,从而达到基于数原创 2023-09-19 11:51:40 · 314 阅读 · 1 评论