一、数据缓存
热点数据缓存可以增加系统的健壮性,提升系统的性能。
二、MySql和redis数据解决方案
三、常用的非关系型数据库概览
数据库名称 | 类型 | 持久化 | 特性 | 面向的业务场景 |
---|---|---|---|---|
Memcached | 内存型 | 否 | 掉电即失,可靠性差 | 动态减轻数据库负载 |
redis | 内存型 | 是 | 具备分布式特性,可靠性高 | 数据处理业务复杂和安全性较高的系统 |
MongoDB | 文档型 | 是 | 查询功能强大,能存储海量数据 | 海量数据访问 |
四、Redis数据淘汰策略
淘汰Redis数据库中存在的非热点、影响数据库性能的数据。redis 确定驱逐某个键值对后,会删除这个数据并将这个数据变更消息发布到本地(AOF 持久化)和从机(主从连接)。
1. 通过设置内存最大使用大小来开启内存淘汰功能
maxmemory <bytes>
更改bytes的值,就可以限制使用内存的大小,从而淘汰数据,保证数据库的稳定性。
2. 通过maxmemory-policy设置淘汰策略
redis提供了8种数据淘汰策略。通过设置策略# maxmemory-policy noeviction
(默认)保证数据库的稳定性。
策略 | 说明 |
---|---|
volatile-lru | 从已设置过期时间的数据集中挑选最近最少使用(Least Recently Used)的数据淘汰 |
volatile-lfu | 从已设置过期时间的数据集中挑选最不经常使用(Least Frequestly Used)的数据淘汰 |
volatile-random | 从已设置过期时间的数据集中任意选择数据淘汰 |
volatile-ttl | 从已设置过期时间的数据集中挑选最接近过期时间的数据淘汰 |
allkeys-lru | 从所有数据集中挑选最近最少使用(Least Recently Used)的数据淘汰 |
allkeys-lfu | 从所有数据集中挑选最不经常使用(Least Frequestly Used)的数据淘汰 |
allkeys-random | 从所有数据集中任意选择数据淘汰 |
noeviction | 不淘汰任何数据 |