@Override
	@SuppressWarnings("unchecked")
	public <T> T execute(final RedisCallback<T> action, final boolean exposeConnection, final boolean pipeline) {
		if (this.retryOperations != null) {
			try {
				return this.retryOperations.execute(new RetryCallback<T, Exception>() {

					@Override
					public T doWithRetry(RetryContext context) throws Exception {
						if (context.getRetryCount() > 0) {
							logger.warn("Retry of Redis Operation. Retry Count = " + context.getRetryCount());
						}
						return RedisRetryTemplate.super.execute(action, exposeConnection, pipeline);
					}

				}, (RecoveryCallback<T>) this.recoveryCallback);
			}
			catch (Exception e) {
				if (e instanceof RuntimeException) {
					throw (RuntimeException) e;
				}
				throw new RedisSystemException("Unknown checked exception translated", e);
			}
		}
		else {
			return super.execute(action, exposeConnection, pipeline);
		}
	}
Adds Retry functionality to RedisTemplate

@author Mark Pollack
spring-xd-analytics/src/main/java/org/springframework/xd/analytics/metrics/redis/RedisRetryTemplate.java