具体来说,我只有1GB的可用内存,并且只想使用300MB的Redis。如何配置它以便它最多只能使用300MB的内存?
出于好奇,当您尝试插入新数据时会发生什么,Redis已经被分配了所有内存?
答案 0 :(得分:12)
maxmemory是防止Redis使用太多RAM的正确配置选项。
如果插入导致超出maxmemory,插入操作有时会失败。
但是,Redis将竭尽全力防止操作失败。在较新版本的Redis中,您可以在配置中配置内存回收策略,也可以通过设置maxmemory-policy选项。此外,如果您打开了虚拟内存选项,Redis将开始将陈旧数据存储到磁盘。
更多信息:
答案 1 :(得分:7)
您可以使用maxmemory
选项执行此操作:maxmemory 314572800
表示300mb。
答案 2 :(得分:0)
由于最后一个答案来自2011年。我将为2019年使用Ubuntu 18.04阅读的用户编写一些更新的信息。该配置文件位于/etc/redis/redis.conf
中,如果您使用(默认/推荐方法)apt install redis-server
安装,则默认内存限制设置为“ 0”,实际上意味着“无限制”如果用户的RAM /内存量有限/很少,那将很麻烦。要设置自定义内存限制,您可以简单地编辑配置文件,并在第一行输入“ maxmemory 1gb”。重新启动redis服务以使更改生效。要验证更改,请使用redis-cli config get maxmemory
Ubuntu 18.04用户可以在此处阅读更多信息:How to install and configure REDIS on Ubuntu 18.04