Esempio n. 1
0
        public void Set(TKey key, TValue value, DateTime expired)
        {
            lock (_mapping.SyncRoot)
            {
                if (_mapping.ContainsKey(key))
                {
                    var item = _mapping[key] as CachingItem <TKey, TValue>;
                    item.Values  = value;
                    item.Expired = expired;
                    _linklist.MarkUse(item.Node);
                }
                else
                {
                    var item = new CachingItem <TKey, TValue>()
                    {
                        Values = value, Expired = expired, Node = _linklist.AddNew(key)
                    };
                    _mapping.Add(key, item);
                }

                //Console.WriteLine("LRUCaching:" + _mapping.Keys.Count);
            }
        }