Add TTL support to Redis repositories.

This is useful for cases where you want to cache things temporarily. My use case is caching of authentication tokens after they've been validated by some external service. I set the TTL to the token's expiration, and future calls check the token string against the cache before calling the external service.