Ben*_*esh 2 hardware memory-management redis
我是Redis的新手,就像......我真的不确定它是如何工作的.但我正在考虑将其用于具有相对简单的数据结构的Web应用程序,这可以从Redis的速度中受益.事情是这个应用程序可能最终获得数百万行.由于Redis是"内存中"而"磁盘支持"这意味着我将需要足够的内存来运行这些数百万行的值?或者它只将值加载到最近或通常访问的内存中?
我在看什么样的硬件要求?有没有人有Redis和硬件使用的任何实际例子?
Col*_*lum 10
Redis以一种很棒的方式处理内存.首先要指出一些事情.如果在32位系统下编译,Redis将使用更少的内存,但最大内存使用量为4GB.至于您的硬件要求,这一切都取决于您存储的数据类型.如果您要存储一百万个密钥,但它们内部只有一个8个字符的字符串,则内存使用量将远低于16个字符的字符串.底线; 如果您在内存中存储了100万个密钥,那么球场内存使用率可能约为1GB.我说可能是因为有很多因素.你有虚拟记忆吗?是否经常访问所有密钥?钥匙有多大.这里有一篇很棒的文章描述了提高redis内存使用率的方法
如果使用磁盘后端,则只有最常访问的密钥才会存储在内存中.您可能有1GB的数据,但只有100Mb可以存储在内存中.有关详细信息,请参见此处
对于硬件,很多Ram.