redis

redis持久化存储策略

AOF模式-(默认)

特点:aof模式采用记录用户执行的状态,缺点:持久化文件较大,恢复数据能力较慢,优点:能保证数据的安全性.

RDB模式-(需要手动开启)

特点:RDB模式采用的是快照的方式并且会覆盖之前的内存快照,定期进行持久化到磁盘中,优点:持久化文件效小,回复数据快,缺点:不能保证数据的安全性.

总结

1.当用户允许丢失某些数据时一般采用rdb模式进行数据持久化.
2.当用户不允许丢失数据时一般采用aof模式进行数据持久化.

**在reids集群中一般设置主机为rdb模式,从机采用aof模式,来提高性能..

redis的内存优化

LRU算法

lru算法也就是页面置换算法利用了时间维度来进行了计算,会记录上一次访问的时间,当要删除时会删除时间较大的页面.

LFU算法

lfu算法会记录访问的引用次数,访问一次加1,为了保证指数衰减的平均使用次数,所以引用计数寄存器定时右移一位,当要删除时会删除较小的访问次数

随机算法

也就是随机删除(不可取)

TTL算法

检索失效时间,提前删除存活时间少的数据

redis的8种内存优化策略

1.volatile-lru  在设定了超时时间的数据中,采用lru算法.
2.allkeys-lru  所有数据采用lru算法
3.volatile-lfu  在超时的数据中采用lfu算法
4.allkeys-lfu -> 所有数据采用lfu算法
5.volatile-random -> 设定超时时间的数据采用随机算法
6.allkeys-random -> 所有数据随机删除
7.volatile-ttl ->  删除存活时间少的数据
8.noeviction -> 不会删除数据,如果内存溢出报错返回.

缓存的穿透

是指在高并发的环境下不停的查询数据库中没有的数据,从而redis没有实现效果,导致数据库崩溃
解决方法:当访问不存在时,当有用户连续访问过大,禁止IP访问,也可以在微服务中设置网关过滤.

缓存的雪崩

是指在高访问量时缓存的数据突然大量失效,从而直接大量去数据库查询数据,导致数据库压力过大崩溃.
解决方法:配置多级缓存和设置数据失效时间不一致.

缓存的击穿

是指在高访问量时缓存的某条数据失效,去查询数据库期间一堆这条数据的查询业务涌向数据库从而崩溃.
解决方法:配置多级一台失效时会寻第二台redis查询完毕直接返回即可

关于伪静态的说明

由于一般的搜索引擎只能检测静态的页面,不能检索动态页面信息,为了让浏览器能检索到所以,后缀名为html的动态页面.

搜索引擎的工作原理(倒排索引)

redis_第1张图片

你可能感兴趣的:(redis-cluster)