add redis sentinel support and custom shard key generate function

indicates