add getIndexKey method to index handler to handle hash generation
move the redis interface inside the index, parser needn't be aware of it
use redis, simplify the index