我喜欢redis,因为它可以让我对数据结构进行操作。 我想看看会发生什么,如果我把更多的数据放入redis,那么我有内存。 所以我写了一个重复插入30k字节的循环,并将maxmemory 100MB设置maxmemory 100MB 。 我认为它将保持在100MB。 它不断增长。 过去1GB然后过2GB。 突然它崩溃,因为我跑了32位版本。
现在…我不明白maxmemory是什么点? 我正在使用Windows版本,所以也许被忽略。 redis是否有内存中的所有内容? 如果我有一个网站(在Linux上)与10GB数据库和512MB的机器上将redis的工作? 我不需要它是惊人的快我只是喜欢修改数据然后SQL(虽然我希望它仍然更快,然后MySQL)
maxmemory的要点是设置Redis将使用的最大内存量。 然而,你已经把它放在一个不可能的情况下,要求它存储更多的信息,而不是分配给内存。 如果你给Redis某种方式来释放内存,它会的。 但是如果没有物体是可丢弃的,那么它就没有办法做到。
“请注意,当使用Redis作为caching时,[maxmemory]设置真的只是一个好主意,如果您将其用作通用数据库,则需要监视其内存消耗,并在消耗太多资源之前采取措施。
Redis是一个内存中的数据库,你可能会更喜欢看“磁盘上”的东西,虽然有一些非常好的redis方面,我一直在努力寻找其他:(