以下是针对redis的知识点整理,用于复习,主要以罗列为主,详细具体讲解可以参考书《Redis设计与实现》,你可以过一遍看看有无知识点遗漏。个人能力有限,如果你还有补充可以再下方评论指出,万分感谢。
多次查询那些一定不存在的数据,或者当前数据不在缓存的高并发查询,导致巨大流量涌入数据库。 解决方式:
情况一:多数类似缓存同时过期,导致对这些key的查询同时落到数据库。 情况二:缓存服务器直接挂掉,导致所有请求全部落到数据库,导致后续雪崩。 这里的解决方式就需要视情况而定: 情况一的话,可以尝试设置缓存过期时间为随机值,不让同类型缓存同时过期。 情况二的话,首先优先保证架构上面能压住,尽可能保证有redis的备份节点可以恢复,当然也要做planB,万一全部缓存节点全部挂,最前面网关层面要要做到限流,后续服务需要做降级或熔断,这个时候就不是缓存的问题了,就是架构的问题了。