首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
学习
09cakg86qfjwymvm8cd3h1dew
创建于2023-01-06
订阅专栏
记录学习过程中的笔记
等 4 人订阅
共253篇文章
创建于2023-01-06
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
数据分布优化:如何应对数据倾斜
数据倾斜有两类: 1. 数据量倾斜:在某些情况下,实例上的数据分布不均衡,某个实例上的数据特别多。 2. 数据访问倾斜:虽然每个集群实例上的数据量相差不大,但是某个实例上的数据是热点数据,被访问得非常
Redis支撑秒杀场景的关键技术和实践都有哪些
# 第一阶段是秒杀活动前 在这个阶段,用户会不断刷新商品详情页,这会导致详情页的瞬时请求量剧增。这个阶段的应对方案,一般是尽量把商品详情页的页面元素静态化,然后使用 CDN 或是浏览器把这些静态化的
Codis VS Redis Cluster:我该选择哪一个集群方案?
# Codis 的整体架构和基本流程 Codis 集群中包含了 4 类关键组件。 * codis server:这是进行了二次开发的 Redis 实例,其中增加了额外的数据结构,支持数据迁移操作,主要
脑裂:一次奇怪的数据丢失
在主从集群中发生数据丢失,最常见的原因就是主库的数据还没有同步到从库,结果主库发生了故障,等从库升级为主库后,未同步的数据就丢失了。 如果是这种情况的数据丢失,我们可以通过比对主从库上的复制进度差值
Redis主从同步与故障切换,有哪些坑
# 主从数据不一致 为啥会出现这个坑呢?其实这是因为主从库间的命令复制是异步进行的。 具体来说,在主从库命令传播阶段,主库收到新的写命令后,会发送给从库。但是,主库并不会等到从库实际执行完命令后,
事务机制:Redis能实现ACID属性吗
事务的执行过程包含三个步骤,Redis 提供了 MULTI、EXEC 两个命令来完成这三个步骤。下面我们来分析下。 第一步,客户端要使用一个命令显式地表示一个事务的开启。在 Redis 中,这个命令
如何使用Redis实现分布式锁
加锁时同样需要判断锁变量的值,根据锁变量值来判断能否加锁成功;释放锁时需要把锁变量值设置为 0,表明客户端不再持有锁。 # 基于单个 Redis 节点实现分布式锁 加锁: <img src="h
无锁的原子操作:Redis如何应对并发访问
为了保证并发访问的正确性,Redis 提供了两种方法,分别是加锁和原子操作。 Redis 的原子操作采用了两种方法: 1. 把多个操作在 Redis 中实现成一个操作,也就是单命令操作; 2. 把多
Pika:如何基于SSD实现大容量Redis
# Pika 的整体架构 <img src="https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/725173e764dc47b08d623a0809
缓存被污染了,该怎么办
# LRU 缓存策略 Redis 中的 LRU 策略,会在每个数据对应的 RedisObject 结构体中设置一个 lru 字段,用来记录数据的访问时间戳。在进行数据淘汰时,LRU 策略会在候选数据
缓存异常(下):如何解决缓存雪崩、击穿、穿透难题?
# 缓存雪崩 缓存雪崩是指大量的应用请求无法在 Redis 缓存中进行处理,紧接着,应用将大量请求发送到数据库层,导致数据库层的压力激增。 首先,我们可以避免给大量的数据设置相同的过期时间。 还
缓存异常(上):如何解决缓存和数据库的数据不一致问题?
# 重试机制 具体来说,可以把要删除的缓存值或者是要更新的数据库值暂存到消息队列中(例如使用 Kafka 消息队列)。当应用没有能够成功地删除缓存值或者是更新数据库值时,可以从消息队列中重新读取这些
替换策略:缓存满了怎么办
建议把缓存容量设置为总数据量的 15% 到 30%,兼顾访问性能和内存空间开销。 设定缓存大小:CONFIG SET maxmemory 4gb 内存淘汰策略: ![image.png](ht
旁路缓存:Redis是如何工作的
常用容量和访问性能 ![image.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e3b067a351a54a6fb4712a6937
缓冲区:一个可能引发“惨案”的地方
![image.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/431f7d62ce614e7ca20751e0a9e92da0~tpl
删除数据后,为什么内存占用率还是很高
当数据删除后,Redis 释放的内存空间会由内存分配器管理,并不会立即返回给操作系统。所以,操作系统仍然会记录着给 Redis 分配了大量内存。 内存碎片的形成有内因和外因两个层面的原因。简单来说,
波动的响应延迟:如何应对变慢的Redis?
# AOF 磁盘压力小和压力大的时候,fsync 后台子线程和主线程受到的影响: ![image.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fb
波动的响应延迟:如何应对变慢的Redis
如何判断 Redis 是不是真的变慢了: 一个最直接的方法,就是查看 Redis 的响应延迟。当你发现 Redis 命令的执行时间突然就增长到了几秒,基本就可以认定 Redis 变慢了。 第二个方
为什么CPU结构也会影响Redis的性能
物理核和逻辑核,以及一级、二级缓存的关系: ![image.png](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6e70d1e15b934e
异步机制:如何避免单线程模型的阻塞
# 阻塞点 <img src="https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d32d65ce97fb4e5b9c66b1fa908e8eb6~t
下一页