"""
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的功能,数据没有,返回一个设定值
"""