我应该使用vm还是使用Redis 2.4设置maxmemory

redis 2.4中vm-enabled no是默认值,所以我使用redis作为数据库(而不是caching),偶尔db大小比内存大,我应该启用它吗?

或者,我应该enfore maxmemory以防止数据丢失?

http://redis.io/topics/faq

如果Redis的内存不足,会发生什么情况?

使用现代操作系统,返回NULL的malloc()并不常见,通常服务器将开始交换,Redis的性能会降低,所以你可能会注意到有什么地方出错了。 INFO命令将报告Redis正在使用的内存量,因此您可以编写监视Redis服务器的脚本来检查是否存在严重的情况。 或者可以使用configuration文件中的“maxmemory”选项来限制Redis可以使用的内存。 如果达到此限制,则Redis将开始回复错误以编写命令(但将继续接受只读命令),或者在使用Redis的情况下达到最大内存限制时,您可以configuration它以逐出密钥进行caching。

不要做任何事情…? 在最糟糕的情况下,你会从交换中获得严重的性能下降,但是这样呢? 无论如何,你的应用程序都有error handling,不是吗?