我为 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 进程的内存使用量单调增加,直到达到物理内存限制 (8gb) 并在会话结束时释放。由于 key 的并发数受限于 session 数,因此数据集的峰值大小不应该那么大。
这是设计的故意行为吗?还是我滥用了它?