add redis sentinel support and custom shard key generate function

READ_ONLY 这名字好像不太对。READ_ONLY 一般用来形容资源状态，作为动词的修饰似乎不合适。直接叫 READ_COMMAND 比较好。