redis 内存满了怎么办?
redis 内存满了怎么办?
- 不考虑键过期,就把 redis 当数据库用,而不是缓存
- 不考虑持久化不持久化问题,因为与题目无关
我想知道的是,一个机器内存是 8 GB
,硬盘是 1TB
,要存入 redis
中的数据量有 100 GB
,这个时候当 redis
把内存用满的时候会出现什么情况?
- 拒绝提供服务
- 把部分数据存到硬盘,需要查询的时候,去读硬盘获取
请问是哪种?
回答:
看具体配置,默认是会拒绝再有申请新内存的请求,但读取、删除这类的请求正常执行。(这里的默认只原生版本,不包括云厂商提供的云 Redis 服务 —— 它们的默认配置是啥要去看它们自己的文档)
Redis 写硬盘是为了持久化,好在断电、重启等情况下还能恢复过来,并不是为了多级存储。
具体的可以自己去了解 “Redis 内存淘汰策略”。
《Redis 官方文档:FAQ - What happens if Redis runs out of memory?》
《Redis 官方文档:Topic - LRU Cache》
回答:
https://segmentfault.com/a/11...
回答:
来源
如果你自己设置了maxmemory,那么会根据你的淘汰策略报错或者淘汰一部分key。没有的话通常支持swap/虚拟内存的系统会使用swap,但这时候性能很差。
以上是 redis 内存满了怎么办? 的全部内容, 来源链接: utcz.com/p/938245.html