Both Memcached and Redis would offer ways to write data that doesn't have an expiry timestamp and will just live as long as it can; but for Redis, it would require a separate method call, I believe.
Locks that time out sound strange to me, just because we have tested that locks are cleaned up even in case of an error, etc. I understand that the application might just crash horribly and we'd have a lock that's not cleaned up, though.

So I'm not saying the default should be infinite locks, but any default timeout might be dangerous. If we maybe use a value that's high enough that'd probably work just as well.