redis 内存满了怎么办?
- 不考虑键过期,就把 redis 当数据库用,而不是缓存
- 不考虑持久化不持久化问题,因为与题目无关
我想知道的是,一个机器内存是 8 GB
,硬盘是 1TB
,要存入 redis
中的数据量有 100 GB
,这个时候当 redis
把内存用满的时候会出现什么情况?
- 拒绝提供服务
- 把部分数据存到硬盘,需要查询的时候,去读硬盘获取
请问是哪种?
redis 内存满了怎么办?
我想知道的是,一个机器内存是 8 GB
,硬盘是 1TB
,要存入 redis
中的数据量有 100 GB
,这个时候当 redis
把内存用满的时候会出现什么情况?
请问是哪种?
3 回答2.6k 阅读✓ 已解决
3 回答4.1k 阅读✓ 已解决
3 回答3.1k 阅读✓ 已解决
8 回答3.7k 阅读
4 回答2.8k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
看具体配置,默认是会拒绝再有申请新内存的请求,但读取、删除这类的请求正常执行。(这里的默认只原生版本,不包括云厂商提供的云 Redis 服务 —— 它们的默认配置是啥要去看它们自己的文档)
Redis 写硬盘是为了持久化,好在断电、重启等情况下还能恢复过来,并不是为了多级存储。
具体的可以自己去了解 “Redis 内存淘汰策略”。