- 博客(8)
- 收藏
- 关注
原创 Redis的典型应用:分布式锁
在一个分布式系统中,会涉及到多个节点访问同一个公共资源的情况,此时就需要通过锁来做互斥控制,避免出现类似于线程安全的问题。但java中的synchronized或者c++的std::mutex这样的锁都只能在当前进程中生效,在分布式这种多个进程多个主机的场景下就无能为力了,所以此时就需要用到分布式锁~本质上就是使用一个公共的服务器,来记录加锁状态。
2024-10-07 18:32:11 424
原创 Redis缓存
缓存时计算机中的一个经典的概念,在很多场景中都能用到,核心思路就是把一些常用的数据放到触手可及(访问速度快)的地方,方便随时读取。比如坐高铁刷身份证,身份证放在箱子里,但不能每次都打开箱子拿身份证,所以可以把身份证先放口袋里,虽然空间小,但访问速度快。此处口袋就是皮箱的缓存!所以,缓存是更快,但空间上是不足的,因此大部分时候,缓存只放一些热点数据。
2024-10-02 09:00:00 871
原创 Redis集群
上一篇我们讲到了哨兵模式,提高了系统的可用性,但是真正用来存储数据的还是master跟slave节点,所有的数据都需要存储在单个的master和slave节点中。如果数据量很大,超出了节点所在机器的物理内存,就会出现严重问题了。那如何获得更大的空间呢,加机器就可以,一台机器搞不定,就用多台机器。假设整个数据全集是1TB,此时引入三组master跟slave,则每组机器只需存储整个数据全集的1/3即可,每个红框部分可以称为一个分片,如果全量数据进一步增加,只要再增加更多的分片就行。
2024-10-02 00:44:34 1060
原创 Redis哨兵机制
Redis的主从复制模式下,一旦主节点由于故障不能提供服务,需要人工进行主从切换,同时大量的客户端需要被通知切换到新的主节点上,对于有一定规模的应用来说,这种方案是无法接受的。所以redis就引入了“哨兵来解决这个问题”。注意:redis哨兵主要是用来解决高可用的问题的!!!
2024-09-30 22:53:53 644
原创 Redis的主从复制
接下来继续介绍Redis中的主从复制~在分布式系统中,涉及到一个和关键的问题:单点问题。引入分布式系统也是为了解决上述的单点问题!
2024-09-26 08:15:00 597
原创 Redis持久化(1)
RDB是一个紧凑压缩的二进制文件,代表redis在某个时间点上的数据快照,非常适用于备份,全量复制场景。redis加载RDB恢复数据远远快于AOF的方式RDB方式数据没办法做到实时持久化(两次快照生成之间,实时的数据可能会随着重启丢失),秒级持久化,因为bgsave每次运行都要执行fork创建子进程,属于重量级操作,频繁执行成本过高RDB文件使用特定的二进制格式保存,redis版本演进过程有多个RDB版本,兼容性可能有风险。
2024-09-24 19:26:03 875 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人