![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Redis
Redis
xiaofang233
开源互联网技术追随者、狂热者。
展开
-
Redis主从同步机制
Redis主从库和读写分离 Redis 提供了主从库模式,以保证数据副本的一致,主从库之间采用的是读写分离的方式。 读操作:主库、从库都可以接收; 写操作:首先到主库执行,然后,主库将写操作同步给从库。 为什么要采用读写分离的方式呢? 你可以设想一下,如果在上图中,不管是主库还是从库,都能接收客户端的写操作,那么,一个直接的问题就是:如果客户端对同一个数据(例如 k1)前后修改了三次,每一次的修改请求都发送到不同的实例上,在不同的实例上执行,那么,这个数据在这三个实例上的副本就不一致了(分别是 v1、原创 2020-09-08 10:30:10 · 572 阅读 · 0 评论 -
Redis高性能IO模型
Redis是单线程的吗 首先,要厘清一个事实,我们通常说,Redis 是单线程,主要是指 Redis 的网络 IO和键值对读写是由一个线程来完成的,这也是 Redis 对外提供键值存储服务的主要流程。但 Redis 的其他功能,比如持久化、异步删除、集群数据同步等,其实是由额外的线程执行的。 所以,严格来说,Redis 并不是单线程,但是我们一般把 Redis 称为单线程高性能,这样显得“酷”些。接下来,我也会把 Redis 称为单线程模式。而且,这也会促使你紧接着提问:“为什么用单线程?为什么单线程能这么原创 2020-09-03 15:34:51 · 216 阅读 · 0 评论 -
缓存失效、穿透、雪崩解决方案
缓存失效 问题描述 缓存第一个经典问题是缓存失效。服务系统查数据,首先会查缓存,如果缓存数据不存在,就进一步查 DB,最后查到数据后回种到缓存并返回。缓存的性能比 DB 高 50~100 倍以上,所以我们希望数据查询尽可能命中缓存,这样系统负荷最小,性能最佳。缓存里的数据存储基本上都是以 key 为索引进行存储和获取的。业务访问时,如果大量的 key 同时过期,很多缓存数据访问都会 miss,进而穿透到 DB,DB 的压力就会明显上升,由于 DB 的性能较差,只在缓存的 1%~2% 以下,这样请求的慢查率会原创 2020-08-20 18:34:29 · 141 阅读 · 0 评论 -
如何设计一个秒杀系统
# 前言 秒杀大家都不陌生。自2011年首次出现以来,无论是双十一购物还是 12306 抢票,秒杀场景已随处可见。简单来说,秒杀就是在同一时刻大量请求争抢购买同一商品并完成交易的过程。从架构视角来看,秒杀系统本质是一个高性能、高一致、高可用的三高系统。而打造并维护一个超大流量的秒杀系统需要进行哪些关注,就是本文讨论的话题。原创 2020-08-16 16:58:24 · 148 阅读 · 0 评论 -
基于Redis实现分布式锁
分布式锁 分布式锁是控制分布式系统之间同步访问共享资源的一种方式。是为了解决分布式系统中,不同的系统或是同一个系统的不同主机共享同一个资源的问题,它通常会采用互斥来保证程序的一致性,这就是分布式锁的用途以及执行原理。 ...原创 2020-08-14 11:11:00 · 103 阅读 · 1 评论 -
redis集群故障定位
环境:三台云主机 每台主机运行两个redis redis.conf配置文件中bind ip 我之前是这样进行绑定的: bind 127.0.0.1 机器ip 将绑定方式修改为: bind 机器ip 问题解决 . redis集群只能绑定本机器的外网ip,其他的不能绑定 ...原创 2019-02-15 23:18:05 · 1415 阅读 · 1 评论