Redis一些问题

Redis的两种写

CPU 内存 磁盘这三种访问的速度是由快到慢的,它们之间的容量是从小到大的,因此就有了只读缓存和读写缓存两种模式。

第一种是写在数据库中,然后缓存未命中则去查数据库,查到了之后再写入缓存。

第二种是同时写Redis和数据库,但是就有了同步写和异步写。

同步写要缓存和数据库同时写完。

异步写只需要写好缓存,缓存满了之后,写进数据库就可以了。

缓存雪崩,击穿,穿透

缓存雪崩

大量缓存同一时刻过期,查询全到数据库,导致数据库层的压力激增,可以设置过期值不同。

缓存击穿

热点key过期后,查询全到数据库,设置热点key不过期。

缓存穿透

缓存和数据库都不存在这个数据,可以返回null值回缓存,或者用布隆过滤器。

所有三种方法都可以用熔断,限流。

LRU和LFU

LRU

删除掉最早访问的数据,但是有一个缺点,如果数据是每一个都进行查询的话,也是会这些数据造成污染的。

LFU

从最早访问和访问次数两方面对LRU进行了优化。

Redis并发

在并发领域,如果需要把一些命令同时执行,那么就需要使用lua命令,它可以保证Redis执行命令的原子性。

往期文章

Redis核心技术

Redis主从同步和哨兵

Redis实战

Redis为什么会阻塞

相关推荐
慧都小项几秒前
图解 MyEclipse Deployment Assembly:资源如何进入部署产物?
java·ide·tomcat·maven·myeclipse·部署排查
Wang's Blog3 分钟前
Java 项目实战: 交友项目 - MongoDB基础总结与自检清单
java·mongodb·交友
泡海椒5 分钟前
JQuick-SQL 子查询:WHERE、SELECT、HAVING 与派生表实践
数据库·sql
鬼手点金9 分钟前
消息的四种角色
java·前端·人工智能·git·深度学习
用户0510122572969 分钟前
SQLite 学习博客(一):从零建库,理解 SQLite 的角色与第一张表
数据库·sqlite
zzu123zsw10 分钟前
面对多 RPC 扇入超时崩溃:深入 asyncTool 核心 DAG 编排与线程池隔离防护
java·网络·spring boot·网络协议·rpc·并发编程
福娃筱欢11 分钟前
金仓数据库配置SSL双向认证
数据库·网络协议·ssl
captain37616 分钟前
MyBatis操作数据库(入门1)
数据库·oracle·mybatis
snpgroupcn20 分钟前
SAP 系统退役的归档架构怎么设计:可检索、可理解、可追溯、可证明
java·数据库·架构
清水白石00822 分钟前
React Native与Flutter长期维护成本对比
开发语言·数据库