一、redis出现的背景
以索引等为基础的关系型数据库,如mysql,查询并发量最多就上千条;而在实际业务中对大量数据的查询可能达到几十万甚至上百万。
二、redis优势
大量数据查询一般遵循2/8原理,即只有20%的热点数据。只要找到这20%的热点数据并将其放入redis缓存中即可大幅提高查询效率。
三、redis两种模式
哨兵模式:一个master多个slave,master负责写数据,slave读数据和备份数据。
集群模式:多个master多个slave,一个master至少一个slave,slave随时准备接替宕掉的master。
四、常见的问题
1、缓存穿透:redis缓存中没有这样的数据,关系型数据库中也总是返回空值,那么缓存实际无效,会对数据库造成大量压力。
2、缓存雪崩:在大并发下,大量缓存key在同一时间失效,请求直接落在数据库,导致数据库宕机。
3、缓存击穿:redis缓存中某一个热点key在承受高并发的同时该key突然过期了,那么请求又到了数据库,给数据库造成压力。