数据数据达到内存一半的时候,提示快照失败了
Can't rewrite append only file in background: fork: Cannot allocate memory
因为redis 保存数据的时候是fork一个子进程保存的,所以内存消耗就变两倍了,我1G内存,只能保存500M作用的数据?
PS:我的redis只有几个键,每个键是列表,列表大概也是百万级别,或者会不会是每个键存储数据太多??
请问怎么搞,可以持久化更大的数据?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
不知道你存这么大List的作用是什么。
List的特点是取两端数据快,取中间数据慢,所以一般是做消息队列或者热数据分页,存太多数据并没有意义。
物理内存不够了会用虚拟内存fork子进程,理论上会比500MB大
当容量不能满足的时候,就应该考虑存储改变数据存储的方式或者格式。
redis的save命令是不fork的,bgsave命令才fork。但是save命令会使当前redis无法响应别的命令
只能自己写一个redis了哈哈