如何设置Redis可以使用的最大内存大小?

时间:2011-03-02 00:44:54

标签: nosql redis

具体来说,我只有1GB的可用内存,并且只想使用300MB的Redis。如何配置它以便它最多只能使用300MB的内存?

出于好奇,当您尝试插入新数据时会发生什么,Redis已经被分配了所有内存?

3 个答案:

答案 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