Ejemplo n.º 1
0
        public void StringSet(string key, string value, TimeSpan ttl)
        {
            PCacheValue val = new PCacheValue(value, ttl);

            L1.AddOrUpdate(key, val, (k, v) => val);

            // ToDo: Remove seldom used values from L1

            // ToDo: Save to L2
        }
Ejemplo n.º 2
0
        public string StringGet(string key)
        {
            PCacheValue val = null;

            if (L1.TryGetValue(key, out val))
            {
                if (val.Expires > DateTime.UtcNow)
                {
                    return(val.Value);
                }
                else
                {
                    L1.TryRemove(key, out val);
                    // ToDo: Delete from L2
                }
            }

            // ToDo: Look for it in L2
            return(null);
        }