add redis implementation