
redis缓存
viqiang1991
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
生产环境中的 redis 是怎么部署的?
redis cluster,10 台机器,5 台机器部署了 redis 主实例,另外 5 台机器部署了 redis 的从实例,每个主实例挂了一个从实例,5 个节点对外提供读写服务,每个节点的读写高峰qps可能可以达到每秒 5 万,5 台机器最多是 25 万读写请求/s。机器是什么配置?32G 内存+ 8 核 CPU + 1T 磁盘,但是分配给 redis 进程的是10g内存,一般线上生产环境,...原创 2020-02-25 20:48:17 · 476 阅读 · 0 评论 -
redis 的并发竞争问题是什么?如何解决这个问题?了解 redis 事务的 CAS 方案吗?
某个时刻,多个系统实例都去更新某个 key。可以基于 zookeeper 实现分布式锁。每个系统通过 zookeeper 获取分布式锁,确保同一时间,只能有一个系统实例在操作某个 key,别人都不允许读和写。你要写入缓存的数据,都是从 mysql 里查出来的,都得写入 mysql 中,写入 mysql 中的时候必须保存一个时间戳,从 mysql 查出来的时候,时间戳也查出来。每次要写之...原创 2020-02-25 20:48:31 · 151 阅读 · 0 评论 -
了解什么是 redis 的雪崩、穿透和击穿?redis 崩溃之后会怎么样?系统该如何应对这种情况?如何处理 redis 的穿透?
缓存雪崩对于系统 A,假设每天高峰期每秒 5000 个请求,本来缓存在高峰期可以扛住每秒 4000 个请求,但是缓存机器意外发生了全盘宕机。缓存挂了,此时 1 秒 5000 个请求全部落数据库,数据库必然扛不住,它会报一下警,然后就挂了。缓存雪崩的事前事中事后的解决方案如下:事前:redis 高可用,主从+哨兵,redis cluster,避免全盘崩溃。 事中:本地 ehcache ...原创 2020-02-25 20:48:44 · 224 阅读 · 0 评论 -
redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?
redis 的持久化有哪几种方式?RDB:RDB 持久化机制,是对 redis 中的数据执行周期性的持久化。 AOF:AOF 机制对每条写入命令作为日志,以append-only的模式写入一个日志文件中,在 redis 重启的时候,可以通过回放AOF 日志中的写入指令来重新构建整个数据集。通过 RDB 或 AOF,都可以将 redis 内存中的数据给持久化到磁盘上面来,然后可以将这些...原创 2020-02-25 20:48:54 · 134 阅读 · 0 评论 -
Redis 哨兵集群实现高可用
哨兵的介绍sentinel,中文名是哨兵。哨兵是 redis 集群机构中非常重要的一个组件,主要有以下功能:集群监控:负责监控 redis master 和 slave 进程是否正常工作。 消息通知:如果某个 redis 实例有故障,那么哨兵负责发送消息作为报警通知给管理员。 故障转移:如果 master node 挂掉了,会自动转移到 slave node 上。 配置中心:如果故障...原创 2020-02-25 20:49:08 · 155 阅读 · 0 评论 -
Redis 主从架构实现高并发
单机的 redis,能够承载的 QPS 大概就在上万到几万不等。对于缓存来说,一般都是用来支撑读高并发的。因此架构做成主从(master-slave)架构,一主多从,主负责写,并且将数据复制到其它的 slave 节点,从节点负责读。所有的读请求全部走从节点。这样也可以很轻松实现水平扩容,支撑读高并发。redis replication -> 主从架构 -> 读写分离 -> 水...原创 2020-02-25 20:49:24 · 273 阅读 · 0 评论 -
如何保证 redis 的高并发和高可用?redis 的主从复制原理能介绍一下么?redis 的哨兵原理能介绍一下么?
如果你用 redis 缓存技术的话,肯定要考虑如何用 redis 来加多台机器,保证 redis 是高并发的,还有就是如何让 redis 保证自己不是挂掉以后就直接死掉了,即 redis 高可用。由于此节内容较多,因此,会分为两个小节进行讲解。redis 主从架构 redis 基于哨兵实现高可用redis 实现高并发主要依靠主从架构,一主多从,一般来说,很多项目其实就足够了,单主用来写...原创 2020-02-25 20:49:50 · 121 阅读 · 0 评论 -
redis 的过期策略都有哪些?内存淘汰机制都有哪些?手写一下 LRU 代码实现?
redis 过期策略redis 过期策略是:定期删除+惰性删除。所谓定期删除,指的是 redis 默认是每隔 100ms 就随机抽取一些设置了过期时间的 key,检查其是否过期,如果过期就删除。假设 redis 里放了 10w 个 key,都设置了过期时间,你每隔几百毫秒,就检查 10w 个 key,那 redis 基本上就死了,cpu 负载会很高的,消耗在你的检查过期 key 上了。...原创 2020-02-25 20:50:02 · 140 阅读 · 0 评论 -
redis 都有哪些数据类型?分别在哪些场景下使用比较合适?
redis 主要有以下几种数据类型:string hash list set sorted setstring这是最简单的类型,就是普通的 set 和 get,做简单的 KV 缓存。set college szuhash这个是类似 map 的一种结构,这个一般就是可以将结构化的数据,比如一个对象(前提是这个对象没嵌套其他的对象)给缓存在 redis 里,然后每次读...原创 2020-02-25 20:50:16 · 170 阅读 · 0 评论 -
redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?
redis 和 memcached 有啥区别?1.redis 支持复杂的数据结构 。 redis 相比 memcached 来说,拥有更多的数据结构,能支持更丰富的数据操作。2.redis 原生支持集群模式。在 redis3.x 版本中,便能支持 cluster 模式,而 memcached 没有原生的集群模式,需要依靠客户端来实现往集群中分片写入数据。3.性能对比。由于 redis ...原创 2020-02-25 20:50:28 · 190 阅读 · 0 评论