refactor redis-py to avoid json encoding / decoding, use pipes to avoid sync issues