support horizontal sharding using Redis::Distributed

use Redis::Distributed if config is an Array

add require redis/distributed

add sharding spec