title: StackExchange.Redis key expiration by UTC date
body: <p>I am working with <code>StackExchange.Redis</code> and building a Redis client interface <code>RedisClientManager</code>.
  In my interface I have 2 key setters (by timespan expiration and datetime expiration):</p>
  
  <p>By timespan:</p>
  
  <pre><code>public void Set(string key, object value, TimeSpan timeout)
  {
      _cache.StringSet(key, Serialize(value), timeout);
  }
  </code></pre>
  
  <p>By date:</p>
  
  <pre><code>public void Set(string key, object value, DateTime expires)
  {
      _cache.StringSet(key, Serialize(value));
      _cache.KeyExpire(key, expires);
  }
  </code></pre>
  
  <p>Usage:</p>
  
  <p>By timespan: </p>
  
  <pre><code>RedisClientManager.Set(o.Key, o, new TimeSpan(0, 0, 5, 0));
  </code></pre>
  
  <p>By date:</p>
  
  <pre><code>RedisClientManager.Set(o.Key, o, DateTime.UtcNow.AddMinutes(5));
  </code></pre>
  
  <p>If I add new key by using Timespan (first method), the object is in Redis cache and expires after 5 minutes as well. If I add new key by using Date (second method), the object is not added to Redis.</p>
  
  <p>This issue happens only on server. On localhost all works fine.</p>
  
  <p>Maybe Redis uses local server time for keys?</p>
  
  <p>How can I fix this issue? What the proper way to set absolute expiration to key by using <code>StackExchange.Redis</code>?</p>