Ejemplo n.º 1
0
        public IActionResult Increment(string key, [FromBody] IncrDecrCacheItem item)
        {
            if (item == null)
            {
                item = new IncrDecrCacheItem();
            }

            if (!item.Cas.HasValue || item.Cas.Value == 0)
            {
                ulong result;
                if (item.ValidFor.HasValue)
                {
                    result = _memcachedClient.Increment(key, item.DefaultValue.Value, item.Delta.Value, item.ValidFor.Value);
                }
                else if (item.ExpireAt.HasValue)
                {
                    result = _memcachedClient.Increment(key, item.DefaultValue.Value, item.Delta.Value, item.ExpireAt.Value);
                }
                else
                {
                    result = _memcachedClient.Increment(key, item.DefaultValue.Value, item.Delta.Value);
                }

                return(Ok(result));
            }
            else
            {
                CasResult <ulong> value = new CasResult <ulong>();

                if (item.ValidFor.HasValue)
                {
                    value = _memcachedClient.Increment(key, item.DefaultValue.Value, item.Delta.Value, item.ValidFor.Value, item.Cas.Value);
                }
                else if (item.ExpireAt.HasValue)
                {
                    value = _memcachedClient.Increment(key, item.DefaultValue.Value, item.Delta.Value, item.ExpireAt.Value, item.Cas.Value);
                }
                else
                {
                    value = _memcachedClient.Increment(key, item.DefaultValue.Value, item.Delta.Value, item.Cas.Value);
                }

                var result = new { value = value.Result, cas = value.Cas, statusCode = value.StatusCode };

                return(Ok(result));
            }
        }
Ejemplo n.º 2
0
 public ulong Increment(string key, ulong defaultValue, ulong delta)
 {
     return(_memcachedClient.Increment(key, defaultValue, delta));
 }
Ejemplo n.º 3
0
 public void InitializeH2HCounters(string cacheReportName, ulong h2hMatchupCount)
 {
     memcachedClient.Increment($"{cacheReportName}_H2H_Count", h2hMatchupCount, 0, this.expiration);
 }