
redis
文章平均质量分 69
redis笔记
追風者0x8ffd98a8
只想见见天地。
展开
-
缓存雪崩、缓存击穿、缓存穿透与缓存预热的问题与解决方案
缓存雪崩、缓存击穿、缓存穿透与缓存预热的问题与解决方案缓存雪崩缓存击穿缓存穿透缓存预热缓存雪崩问题现象:数据库崩溃后,应用服务器崩溃,最后redis集群崩溃;即使重启数据库再次被击溃。问题排查:在较短时间,缓存中较多的key集中过期。在此期间请求访问过期数据,redis未命中,redis向数据库获取数据。数据库同时接收大量请求无法及时处理。Redis大量请求积压,开始出现超时情况。数据库流量激增,数据库崩溃。重启后缓存仍无数据可用。Redis服务器资源被严重占用,Redis服务器崩溃原创 2022-02-24 17:21:23 · 148 阅读 · 0 评论 -
Redis的线程模型
Redis的线程模型redis 内部使用文件事件处理器 file event handler,这个文件事件处理器是单线程的,所以 redis 才叫做单线程的模型。它采用 IO 多路复用机制同时监听多个 socket,将产生事件的 socket 压入内存队列中,事件分派器根据 socket 上的事件类型来选择对应的事件处理器进行处理。文件事件处理器包含以下部分:IO 多路复用程序文件事件分派器事件处理器(连接应答处理器、命令请求处理器、命令回复处理器)多个 socketredis 的请求是原创 2022-02-24 16:33:59 · 100 阅读 · 0 评论 -
Redis高并发与高可用之redis cluster模式
Redis高并发与高可用之redis cluster模式redis的集群模式,将数据横向切割,分发到每个master上,纵向扩展,每个master分配多个slave。这样在保证高并发时还可以保证可用性。redis会将所有的数据放在16384个hash槽中,每个master存储分配一部分hash槽。在查找数据时,随机选取一个master查找数据,当所选数据不在该redis服务的hash槽时,会自动寻找到数据所在hash槽并将数据返回。redis的集群中,对节点宕机的判断与选举和哨兵集群模式一致。.原创 2022-02-24 15:58:35 · 144 阅读 · 0 评论 -
Redis高可用之哨兵模式
Redis高可用之哨兵模式哨兵模式的原理与功能sdown(主观下线)与odown(客观下线)转换机制主节点选举Redis哨兵主备切换的数据丢失问题哨兵模式的原理与功能哨兵(sentinel)是一个分布式系统,用于对主从架构中的每台服务器进行监控,当出现故障时通过投票机制选举新的master并将所有slave连接新的master。哨兵的功能:集群监控:负责监控redis master和slave进程是否正常工作。消息通知:如果某个redis服务有故障,那么哨兵负责发送消息通知给管理员。故障转移:原创 2022-02-24 15:42:29 · 558 阅读 · 0 评论 -
Redis高可用与高并发基石之主从复制
Redis高可用与高并发基石之主从复制主从复制过程建立连接阶段数据同步阶段run id复制积压缓冲区全量复制与增量复制主从复制作用:读写分离负载均衡容灾恢复数据冗余,实现数据热备份。高可用与高并发基石,基于主从复制,构建哨兵模式与集群。主从复制过程主从复制分为三个阶段:建立连接阶段数据同步阶段命令传播阶段建立连接阶段建立连接阶段slave工作流程:步骤1:发送连接请求。步骤2:设置master的地址和端口,保存master信息。步骤3:建立socket连接。步骤4:原创 2022-02-24 12:15:15 · 544 阅读 · 0 评论 -
Redis之删除策略与逐出算法
Redis之删除策略与逐出算法Redis在内存中运行,数据也保存在内存中。由于内存有限而数据无限,防止数据将内存打满,就需要使用删除策略和逐出算法。原创 2022-02-23 19:14:56 · 225 阅读 · 0 评论 -
Redis事务
Redis事务事务的基本操作锁的使用事务,是对数据一致性的保障。事务的基本操作multi 事务开启exec 事务执行discard 取消事务注意:加入事务的命令暂时进入到任务队列中,并没有立即执行,只有执行exec命令才执行。当定义的事务中包含的命令存在与发生错误,整体事务所有命令都不执行。已经执行完毕的命令对应的数据不会回滚。锁的使用watch key1 … 对key添加监视锁,在执行exec前如果key发生了变化终止事务执行。unwatch 取消对所有key的监视。锁 w原创 2022-02-23 12:57:41 · 238 阅读 · 0 评论 -
Redis持久化详解与持久化方式对比
Redis持久化详解与持久化方式对比RDB持久化RDB持久化方式的启动save命令进行数据持久化bgsave命令进行数据持久化RDB两种持久化启动方式对比RDB的优缺点AOF持久化AOF持久化的启动AOF重写机制RDB与AOF的区别与选择RDB与AOF的区别RDB与AOF如何选择Redis是在内存中工作,如果线上环境宕机,重启Redis后,所有缓存数据全部丢失,这时候如果只靠用户的访问进行缓存写入的方式,无疑进一步增大了线上环境的压力。针对这一类情况,Redis有自己的持久化方式。Redis有两种持久化原创 2022-02-23 11:29:02 · 214 阅读 · 0 评论 -
Redis的业务场景
Redis的业务场景Redis因为在内存中运行,查询速度快,常常被用作缓存中间件使用,那么都有哪些场景可以使用呢?string类型:存储字符串数据,一般使用JSON格式存储redis用于控制数据库主键id(在分库分表时),为数据库主键提供主键生成策略,保障数据库表的主键唯一性。分布式session,一般以string类型来存储。hash类型:由于hash类型具有结构性,可以通过不同的field存储不同类型信息,而通过一个key将信息组合到一起redis应用于抢购,限购类、限量发送优惠券、激原创 2022-02-23 09:38:05 · 341 阅读 · 0 评论 -
Redis入门-Redis的基本数据类型使用
Redis入门-Redis的基本数据类型Redis的基本数据类型string类型的使用Redis是NoSQL数据库,即非关系型数据库,数据存储在内存中,经常用作缓存使用。Redis的基本数据类型Redis有五大基本数据类型,分别为string、hash、list、set和zset。此处的数据类型指的是存储的数据的类型,即value的类型。string类型的使用Redis提供了对string类型数据的基本操作(增删查)、对数值操作的API、设置数据生命周期。对string类型数据的基本操作s原创 2022-02-23 09:16:43 · 360 阅读 · 0 评论