python - redis数据持久化内存不足
黄舟
黄舟 2017-04-17 16:17:28
[Python讨论组]

数据数据达到内存一半的时候,提示快照失败了

Can't rewrite append only file in background: fork: Cannot allocate memory

因为redis 保存数据的时候是fork一个子进程保存的,所以内存消耗就变两倍了,我1G内存,只能保存500M作用的数据?
PS:我的redis只有几个键,每个键是列表,列表大概也是百万级别,或者会不会是每个键存储数据太多??

请问怎么搞,可以持久化更大的数据?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(5)
天蓬老师

不知道你存这么大List的作用是什么。
List的特点是取两端数据快,取中间数据慢,所以一般是做消息队列或者热数据分页,存太多数据并没有意义。

迷茫

物理内存不够了会用虚拟内存fork子进程,理论上会比500MB大

高洛峰

当容量不能满足的时候,就应该考虑存储改变数据存储的方式或者格式。

巴扎黑

redis的save命令是不fork的,bgsave命令才fork。但是save命令会使当前redis无法响应别的命令

怪我咯

只能自己写一个redis了哈哈

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号