redis的持久化,缓存穿透,缓存击穿,缓存雪崩

  • redis的持久化,缓存穿透,缓存击穿,缓存雪崩
"""
	redis的五种数据类型:string,list,hash(哈希),set(集合),zset(有序集合)
	
	redis的持久化机制:rdb,aof
	redis持久化是指在指定的时间间隔内将内存中的数据进行快照,默认的是rdb快照,
        这种方式是将内存的数据以快照的方式写入到二进制文件中,默认的文件名是dump.rdb,
        redis有一个安全机制就是当服务不可控或者意外关机的时候会默认调用save完成数据持久化,
        当然你也可以主动调用save方法,来保存数据,这样的话更安全,可控。

	rdb的优点:全量的数据快照,文件小,恢复速度快
	rdb的缺点:当数据过大时,意外宕机时,可能会有部分数据没有来得及保存,从而丢失部分数据
	
	aof的优点:保存的数据全
	aof的缺点:全量数据快照,文件大,恢复的速度慢
	
	
	redis的缓存穿透,缓存雪崩,缓存击穿,解决方法
	缓存穿透:缓存与数据库中都没有,恶意访问,频繁的查数据库,从而压力大
	解决方法:查询一次,如果没有,缓存中增加空值,缓存有效时间设置断点
		最常见的则是采用布隆过滤器,将所有可能存在的数据哈希到一个足够大的bitmap中,一个一定不存在的数据会被 这个bitmap拦截掉,从而避免了对底层存储系统的查询压力。
	
	
	缓存雪崩:同一时间,大量键过期,同时访问数据库吗,压力大
	解决方法: 将过期时间设置为随机
	
	缓存击穿:前台高并发访问一个已经在缓存中恰好过期的数据,全部打到后台数据库
	解决方法:可以使用互斥锁,也可以将一些热点数据设置永不过期,可以里利用redis的setnx的功能,数据没有,返回一个设定值
	
"""
posted @ 2020-05-06 21:23  alen_zhan  阅读(260)  评论(0编辑  收藏  举报
返回顶部