Better error handling for redis connection

When Redis connection is lost, don't crash the application.

About the reconnect, just be having the error listener makes magic: it will try to reconnect and by doubling the retry time from attempt. like 1, 2, 4, 8, 16 secs and so on.