Redis一些问题

Redis的两种写

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

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

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

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

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

缓存雪崩,击穿,穿透

缓存雪崩

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

缓存击穿

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

缓存穿透

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

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

LRU和LFU

LRU

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

LFU

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

Redis并发

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

往期文章

Redis核心技术

Redis主从同步和哨兵

Redis实战

Redis为什么会阻塞

相关推荐
韩师学子--小倪3 小时前
fastjson与gson的toString差异
java·json
Drawing stars3 小时前
JAVA后端 前端 大模型应用 学习路线
java·前端·学习
nbsaas-boot3 小时前
SQL Server 存储过程开发规范(公司内部模板)
java·服务器·数据库
zgl_200537793 小时前
ZGLanguage 解析SQL数据血缘 之 Python + Echarts 显示SQL结构图
大数据·数据库·数据仓库·hadoop·sql·代码规范·源代码管理
行百里er3 小时前
用 ThreadLocal + Deque 打造一个“线程专属的调用栈” —— Spring Insight 的上下文管理术
java·后端·架构
acaad3 小时前
Redis下载与安装(Windows)
数据库·redis·缓存
玄〤3 小时前
黑马点评中 VoucherOrderServiceImpl 实现类中的一人一单实现解析(单机部署)
java·数据库·redis·笔记·后端·mybatis·springboot
SunflowerCoder4 小时前
EF Core + PostgreSQL 配置表设计踩坑记录:从 23505 到 ChangeTracker 冲突
数据库·postgresql·c#·efcore
J_liaty4 小时前
Spring Boot拦截器与过滤器深度解析
java·spring boot·后端·interceptor·filter
短剑重铸之日4 小时前
《7天学会Redis》Day2 - 深入Redis数据结构与底层实现
数据结构·数据库·redis·后端