public bool StringSet(FileBasedKey key, FileBasedValue value, TimeSpan? expiry, When when)
            {
                if (ContainsKey(key) && when == When.NotExists)
                    return false;

                if (expiry.HasValue)
                    value = new FileBasedValueWithExpiry(value, DateTime.Now, expiry);

                this[key] = value;

                return true;
            }
 private static bool IsObjectExpired(FileBasedValueWithExpiry valueWithExpire)
 {
     return (valueWithExpire.Expiry.HasValue) && (valueWithExpire.Expiry.Value.TotalMilliseconds < 0);
 }