对Redis进行内存验证

首先

请参考下面关于其他Redis建设的页面。
关于Redis建设的总结。

为了将Redis实际运行,需要了解当内存超过最大值时会发生什么行为。这里将介绍超过内存限制的实际测试和相关的设置内容。

环境

CentOS 6.8 是Redis 3.2.5的当时稳定版本。

通过free命令等来确认验证服务器的规格信息。

名称値(KB)MemTotal1914220MemFree410616Buffers230088Cached1031656SwapCached0Active699296Inactive638120

当超出最大内存时的行为

当Redis的内存超过最大限制时的行为是什么?

在redis.conf中可以进行maxmemory的设置
当超过maxmemory时,根据maxmemory-policy的设置会有不同的行为

policymaxmemoryを超えた時削除対象削除優先度見解volatile-ttl既存の一部データが削除され、キーが追加される有効期限(expire)が設定されているデータ
→有効期限は「ttl [ket]」で確認出来る有効期限が古い順maxmemory-sampleが設定できる
→maxmemoryを超えた時に削除するキーの個数volatile-lru既存の一部データが削除され、キーが追加される有効期限(expire)が設定されているデータ有効期限が古い順(LRUアルゴリズムに従って削除優先度を決める)maxmemory-sampleが設定できるvolatile-random既存の一部データが削除され、キーが追加される有効期限(expire)が設定されているデータランダムmaxmemory-sampleは1らしいallkeys-lru既存の一部データが削除され、キーが追加される全てのキー有効期限が古い→期限がないキーmaxmemory-sampleが設定できる

削除対象に「キューを貯めるキー」が入ってしまうので、好ましくない(randomも同様)allkeys-random既存の一部データが削除され、キーが追加される全てのキーランダムmaxmemory-sampleは1らしいnoeviction上書きされずmaxmemoryエラーが出る

上書きされず処理が止まってしまうので好ましくない

验证时的需求 shí de

・当内存达到最大时,不希望出现错误并停止处理。
・由于最新的更改记录比旧数据优先级高,所以希望删除旧数据并插入新数据。

在上述中,将maxmemory-policy设置为”volatile-ttl”。

最大值可以达到多少进行验证

検証サーバのメモリ2GBRedisのused_memory1085729200(1.09GB)

可以使用服务器内存的大约一半。(一旦超过maxmemory,将以相同方式处理)

请参考页面。

Redis内存使用确认方法
Redis监控/分析工具总结
关于运营使用大数据的Redis总结
当Redis内存超过最大限制后的行为
maxmemory-policy应该设置什么
关于内存压缩设置
使用Redis时需要预留2倍的容量!

顺便说一下,我们使用Jmeter进行了验证。
Jmeter的使用方式。