Client-side abstraction for Redis-based, expiring distributed mutex