以下の疑似コードのように、redis の簡単なベンチマーク コードを作成しました。
for 10~100 redis sessions:
for n time:
key = some_random_string(key_size) # about 100 byte
data = some_random_string(data_size) # about 100k~1m
session.command("SET %s %s", key, data)
session.command("GET %s", key)
session.command("DEL %s", key)
ベンチマーク プログラムが起動すると、redis-server プロセスのメモリ使用量が単調に増加し、物理メモリ バウンド (8 GB) に達してセッション終了時に解放されます。キーの同時数はセッション数に制限されるため、データ セットのピーク サイズはそれほど大きくないはずです。
これは設計による意図的な動作ですか? または私はそれを悪用しましたか?