redis
redis技术学习
叶落-花开
这个作者很懒,什么都没留下…
展开
-
jvm学习图片
一.Java代码运行图:二.类从加载到使用.三.四. 内存区域的全部流程在这里插入图片描述原创 2021-05-13 09:35:29 · 212 阅读 · 0 评论 -
redis-分布式锁
redis分布式锁基于redis的setnx实现分布式锁的一.redis分布式锁的原理:sex key value nx time1.利用nx原子性,多个线程并发的时候,只有一个线程可以设置成功2.设置成功既获取到锁,可以执行后续的业务处理3.如果出现异常,过了锁的有效期,锁自动释放4.释放锁采用redis的delete命令5.释放锁校验之前设置的随机数 ,只有随机数相同才释放6...原创 2020-04-15 10:34:51 · 123 阅读 · 0 评论 -
redis 的并发竞争问题
简介:出现并发竞争的情况就是多客户端同时并发写一个 key,可能本来应该先到的数据后到了,导致数据版本错了;或者是多客户端同时获取一个 key,修改值之后再写回去,只要顺序错了,数据就错了。某个时刻,多个系统实例都去更新某个 key。可以基于 zookeeper 实现分布式锁。每个系统通过 zookeeper 获取分布式锁,确保同一时间,只能有一个系统实例在操作某个 key,别人都不允许读和写...原创 2020-04-26 10:38:27 · 579 阅读 · 0 评论 -
redis-缓存和数据库写入不一致问题
一.解决不一致两种方法:CAP理论(Cache Aside Pattern):缓存+数据库读写的模式1.读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。2.更新的时候,先更新数据库,然后再删除缓存。读请求和写请求串行化,串到一个内存队列里去 串行化可以保证一定不会出现不一致的情况,但是它也会导致系统的吞吐量大幅度降低,用比正常情况下多几倍的机...原创 2020-04-26 10:12:56 · 1182 阅读 · 1 评论 -
redis雪崩,穿透
一.缓存雪崩缓存雪崩:对于系统 A,假设每天高峰期每秒 5000 个请求,本来缓存在高峰期可以扛住每秒 4000 个请求,但是缓存机器意外发生了全盘宕机。缓存挂了,此时 1 秒 5000 个请求全部落数据库,数据库必然扛不住,它会报一下警,然后就挂了。此时,如果没有采用什么特别的方案来处理这个故障,DBA 很着急,重启数据库,但是数据库立马又被新的流量给打死了。二.缓存雪崩的事前事中事后的解决...原创 2020-04-26 08:42:25 · 129 阅读 · 0 评论 -
redis集群模式(redis cluster)
一.redis cluster 介绍自动将数据进行分片,每个 master 上放一部分数据提供内置的高可用支持,部分 master 不可用时,还是可以继续工作的在 redis cluster 架构下,每个 redis 要放开两个端口号,比如一个是 6379,另外一个就是 加1w 的端口号,比如 16379。16379 端口号是用来进行节点间通信的,也就是 cluster bus...原创 2020-04-26 08:27:01 · 497 阅读 · 0 评论 -
redis两种持久化方式
一.redis 持久化的两种方式RDB:RDB 持久化机制,是对 redis 中的数据执行周期性的持久化。AOF:AOF 机制对每条写入命令作为日志,以 append-only 的模式写入一个日志文件中,在 redis 重启的时候,可以通过回放 AOF 日志中的写入指令来重新构建整个数据集。如果同时使用 RDB 和 AOF 两种持久化机制,那么在 redis 重启的时候,会使用 AOF ...原创 2020-04-25 16:51:58 · 1631 阅读 · 0 评论 -
redis高可用-哨兵集群模式
一.哨兵的介绍sentinel,中文名是哨兵。哨兵是 redis 集群机构中非常重要的一个组件,主要有以下功能:集群监控:负责监控 redis master 和 slave 进程是否正常工作。消息通知:如果某个 redis 实例有故障,那么哨兵负责发送消息作为报警通知给管理员。故障转移:如果 master node 挂掉了,会自动转移到 slave node 上。配置中心:如果故障转移...原创 2020-04-25 09:37:41 · 258 阅读 · 0 评论 -
redis高并发-主从架构
一.redis主从架构redis 实现高并发主要依靠主从架构,一主多从,一般来说,很多项目其实就足够了,单主用来写入数据,单机几万 QPS,多从用来查询数据,多个从实例可以提供每秒 10w 的 QPS。因此架构做成主从(master-slave)架构,一主多从,主负责写,并且将数据复制到其它的 slave 节点,从节点负责读。所有的读请求全部走从节点。这样也可以很轻松实现水平扩容,支撑读高并发。...原创 2020-04-24 22:49:55 · 260 阅读 · 0 评论 -
redis线程模型-单线程,过期策略
一.redis 的线程模型redis 内部使用文件事件处理器 file event handler,这个文件事件处理器是单线程的,所以 redis 才叫做单线程的模型。它采用 IO 多路复用机制同时监听多个 socket,将产生事件的 socket 压入内存队列中,事件分派器根据 socket 上的事件类型来选择对应的事件处理器进行处理。二.redis内部文件事件处理器的结构包含 4 个部分:...原创 2020-04-24 22:06:24 · 143 阅读 · 0 评论