redis 专题
文章平均质量分 92
football0
这个作者很懒,什么都没留下…
展开
-
redis 事务
要弄清楚 Redis 有没有事务,其实很简单,上 Rredis 的官网查看文档,发现:MULTI、EXEC、DISCARD和WATCH是 Redis 事务相关的命令。事务可以一次执行多个命令, 并且带有以下两个重要的保证: 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。 EXEC命令负责触发并执行事务中的所有命令:如...原创 2021-03-16 14:22:46 · 165 阅读 · 0 评论 -
redis 哨兵原理
三个定时监控任务1.每隔十秒,每隔sentinel节点会向主节点和从节点发送info命令,获取最新的拓扑结构2.每隔两秒,每个sentinal节点会向redis数据节点的_sentinel_:hello频道上发送sentinel节点对主节点的判断以及sentinel节点的信息,同时每个sentinel也会订阅该频道(发现新节点,sentinel节点之间交换主节点的状态)3.每隔一秒,每个sentinel节点会向主节点,从节点,其余sentinel节点发送一条ping命令,做一次心跳检测,来确定这原创 2020-05-26 21:28:13 · 388 阅读 · 0 评论 -
redis 集群的哨兵模式保证 redis 的高可用
1、哨兵的介绍sentinal,中文名是哨兵哨兵是redis集群架构中非常重要的一个组件,主要功能如下(1)集群监控,负责监控redis master和slave进程是否正常工作,Sentinal节点会定期检查redis节点和其余sentinal节点是否可达(2)消息通知,如果某个redis实例有故障,那么哨兵负责发送消息作为报警通知给管理员(3)故障转移,如果master node挂掉了,会自动转移到slave node上(4)配置中心,如果故障转移发生了,通知client客.原创 2020-05-24 21:03:31 · 235 阅读 · 0 评论 -
redis 底层数据结构简介
一、字符串Redis 的字符串叫着「SDS」,也就是 Simple Dynamic String。它的结构是一个带长度信息的字节数组。capacity 表示所分配数组的长度,len 表示字符串的实际长度Redis 的字符串有两种存储方式,在长度特别短时,使用 emb 形式存储 (embeded),当 长度超过 44 时,使用 raw 形式存储。两种形式的存储方式embstr 存...原创 2020-05-06 22:17:04 · 466 阅读 · 1 评论 -
如果service还没执行完,分布式锁在 redis 中已经过期了,怎么解决这种问题
在使用 redis 分布式锁的时候,可能会碰到,服务执行时间比较长,但此时redis锁的过期时间到了,那 redis 会解锁,导致其他服务能同时访问的问题,改如何解决? 只要客户端一旦加锁成功,启动一个watch线程,他是一个后台线程,会每隔10秒检查一下,如果客户端还持有锁key,那么就会不断的延长锁key的生存时间。 假如加锁的时间是30秒,如果加锁的业务没有执...原创 2020-04-27 21:47:22 · 2097 阅读 · 1 评论 -
redis的线程模型
1)文件事件处理器redis基于reactor模式开发了网络事件处理器,这个处理器叫做文件事件处理器,file event handler。这个文件事件处理器,是单线程的,redis才叫做单线程的模型,采用IO多路复用机制同时监听多个socket,根据socket上的事件来选择对应的事件处理器来处理这个事件。如果被监听的socket准备好执行accept、read、write、close等...原创 2020-04-15 19:32:23 · 204 阅读 · 0 评论 -
redis key 过期处理和内存淘汰机制
(1)redis删除过期key1、定时删除设置键的过期时间,创建定时器,一旦过期时间来临,就立即对键进行操作。这种对内存是友好的,但是对 CPU 的时间是最不友好的,特别是在业务繁忙,过期键很多的时候,删除过期键这个操作就会占据很大一部分 CPU 的时间。要知道 Redis 是单线程操作,在内存不紧张而 CPU 紧张的时候,将 CPU 的时间浪费在与业务无关的删除过期键上面,会对 ...原创 2020-04-13 21:57:07 · 919 阅读 · 0 评论 -
Redis持久化
Redis持久化主要分两种RDB持久化和AOF持久化。一、RDB持久化(不定期)(redis database)原理是将Reids在内存中的数据库记录定时 dump到磁盘上的RDB持久化不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”)RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换...原创 2020-04-07 21:08:59 · 159 阅读 · 0 评论 -
Redis 基础篇(一)
今天我们来讲一讲缓存目前,memcache 和 redis 是互联网分层架构中,最常用的key/value缓存。那么如何选择呢 ?下面来看一下两种缓存的比较 redis mecache 吞吐量 十万左右 QPS 达到几十万 QPS 数据结构 ...原创 2019-04-21 14:42:27 · 234 阅读 · 0 评论