排序
如何避免缓存雪崩、缓存击穿、缓存穿透?
如何避免缓存雪崩? 通常我们为了保证缓存中的数据与数据库中的数据一致性,会给 Redis 里的数据设置过期时间,当缓存数据过期后,用户访问的数据如果不在缓存里,业务系统需要重新生成缓存,因...
什么是一致性Hash,及其应用场景详解
本文通过一个经典的分布式缓存的应用场景来阐述为什么需要一致性Hash。 1. 场景描述 我们有3万张图片的存储需求,通过评估单台服务器的存储能力后,需要用三台服务器,编号为0号、1号、2号来缓...
Redis和Memcached有什么区别?
很多人都说用 Redis 作为缓存,但是 Memcached 也是基于内存的数据库,为什么不选择它作为缓存呢? 要解答这个问题,我们就要弄清楚 Redis 和 Memcached 的区别。 Redis和Memcached区别? Redis...
内存数据库和缓存数据库有哪些区别?
内存数据库(In-Memory Database,IMDB)和缓存数据库在功能和应用场景上有一定的区别。 以下是它们之间的主要区别: 数据存储方式:内存数据库是一种完整的数据库管理系统,将整个数据库存储在...
redis三种常用高效缓存读写策略是什么
在某一天面试的时候,不念被问到Redis三种缓存读写的策略,懵了,原因是简历上明明是写着熟悉Redis。 因此面试官可以随意向任何一个方向进行开火,大家要注意从小点切入,除非自己是完全能够掌...
Redis缓存三兄弟(穿透、击穿、雪崩)
1 缓存穿透 缓存穿透:查询一个不存在的数据,mysql查询不到数据也不会直接写入缓存,就会导致每次请求都查数据库 解决方案一: 缓存空数据,查询返回的数据为空,仍把这个空结果进行缓存 {key:...
Tair的重要节点和单元化、热点、性能与成本等技术挑战
重要节点 在淘宝电商交易刚起步的时候,和现在的系统架构比,当时的业务架构相对来说是比较简单的。 在Tair诞生之前,我们内部有一个TDBM系统,这是一个独立的、单机缓存服务,容量是很有限的,...
Spring Cache缓存注解
不念最近在开发公司项目时使用到 Redis 缓存,并在翻看前人代码时,看到了一种关于 @Cacheable 注解的自定义缓存有效期的解决方案,感觉比较实用,因此自己拓展完善了一番后分享给各位。 Spri...