Redis的使用场景
Redis(Remote Dictionary Server)是一个内存数据结构存储系统,它以快速、高效的特性闻名,并且它支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合等。它主要用于以下场景:
- 缓存: Redis最常见的用途之一是作为缓存层,用来存储经常访问但计算成本较高的数据(如,数据库查询结果、API调用结果等)。将数据存储在Redis的内存中,可以加速对数据的访问,降低后端系统的负载,提升应用层的相应速度;
- 分布式锁: Redis提供了分布式锁机制,可以用来解决分布式系统中的并发访问问题,开发者可以通过Redis的SETNX(SET if Not eXists)实现简单而高效的分布式锁。
- ……
Redis中可能面临的问题
- 作为缓存层可能面临的问题:穿透、击穿、雪崩、双写一致、持久化、数据过期、淘汰策略等;
- 在分布式系统中可能面临的问题:setnx、redisson
缓存穿透问题
带有缓存层的数据查询过程:

缓存穿透: 通常,缓存系统在接收到一个查询请求时,会首先检查缓存中是否已经存在相应的数据。如果存在,则直接返回缓存中的数据;如果不存在,则去底层存储系统(如数据库)查询数据,并将查询结果存入缓存中,以供后续请求使用。然而,当恶意用户或者系统频繁地查询不存在的数据时,缓存系统无法命中缓存,而每次请求都会直接访问底层存储系统,从而绕过了缓存系统,这种情况就称为缓存穿透。
<

最低0.47元/天 解锁文章
1911

被折叠的 条评论
为什么被折叠?



