todo: redis support