Трябва да помислите малко повече за това какво наистина измервате с помощта на тази програма. Мога да ви кажа, че не е Redis, а по-скоро способността на вашата система да изпълнява пинг-понг игра между два процеса (тъй като всичките ви hsetnx повиквания са синхронни).
Моля, прочетете тази страница, преди да опитате да сравните Redis, определено ще ви помогне.
Предположението ви, че скоростта на Redis трябва да се доближи до скоростта на запис на RAM паметта е малко наивно. Redis е дистанционнин store, а за операциите O(1) по-голямата част от режийните разходи се дължат на разходите за комуникация. За синхронен трафик (като вашия пример) това също се дължи на цената на планировчика на ОС.
Ако искате да приложите много команди последователно, трябва да използвате конвейер. Или ако не ви интересува последователността, можете да работите едновременно с няколко връзки (това е режимът по подразбиране за redis-benchmark). Или можете да опитате да изпратите асинхронни команди вместо това. Във всички случаи идеята е да се амортизират разходите за двупосочните пътувания до сървъра Redis
С конвейериране на няколко връзки с асинхронен трафик ще получите максималната пропускателна способност, която Redis може да постигне на тази машина.