implemented transactions for redis