Redis
文章平均质量分 93
csj in cqupt
这个作者很懒,什么都没留下…
展开
-
Redis系列之持久化与缓存淘汰(六)
RDBRDB持久化的方式是在一定的时间间隔后,将数据快照写入磁盘,恢复时是把磁盘中的快照文件读到内存中。详细步骤:Redis在执行RDB持久化时,会先创建(fork)出一个子进程,子进程负责把该时刻的数据快照写入一个临时文件temp中,写完后将temp文件替换掉原先的快照文件dump.rdb。整个过程主进程不涉及任何io操作,所有性能非常高,不过这种方式最后一次持久化后的数据可能会丢失。Forkfork出的子进程开始并不会独享一份物理空间,而是先共享父进程使用的那一片内存页,..原创 2022-02-22 11:37:09 · 236 阅读 · 0 评论 -
Redis系列之消息队列(三)
Redis能实现两种消息队列:生产者消费者模式、发布/订阅模式首先说说什么是消息队列。消息队列是指利用高效可靠的消息传递机制来进行与平台无关的数据交流,并基于数据通信来实现分布式系统的集成。为什么需要消息队列?1. 松耦合假设现在有A、B、C、D四个子系统,其中A系统要发数据到另外三个系统中,那么A需要分别调用B、C、D三个系统提供的接口,当某日需求变了要对应删除或增加相应的接口,这种情况如果过于频繁则会增加很大的工作量,同时也会增加不稳定因素,对于分布式系统来说,不稳定因素应该月少越好原创 2022-02-20 18:07:27 · 494 阅读 · 0 评论 -
Redis系列之五种数据类型(二)
Redis命令查询StringString是Redis最基本的类型,可以理解成与Memcached一模一样的类型,一个key对应一个value。String类型是二进制安全的。意味着Redis的string可以包含任何数据。比如jpg图片或者序列化的对象。(二进制安全指只关心二进制化的字符串,不关心具体格式,不会对某种字符组合给予特殊含义,比如C语言的 \0 可作为字符串结尾标识,那么C语言就不是二进制安全的)Redis存储图片的两种方式:直接用String存,这样可以先把图片用..原创 2022-02-19 21:35:57 · 1223 阅读 · 0 评论 -
Redis系列之缓存穿透、缓存击穿、缓存雪崩、限流(八)
缓存穿透问题描述是指数据库中不存在的数据、redis缓存中不存在的key被大量请求。本来正常情况下请求先发给redis,而redis中没有所需要的key,那么又会去数据库中找,如果有这个key就把该key更新到redis中并把结果返回给用户,如果数据库也没有这个key就正常提示用户没有即可。问题就是当大量的请求都是去查询在数据库中压根就不存在的数据(比如一共5000用户,用户id1-5000,请求是查询5001号用户数据),这样所有请求都会去过一遍数据库,redis便没有发挥承担请求压力的作用。原创 2022-02-19 12:47:44 · 175 阅读 · 0 评论