Example #1
0
        private CachePacket EnsurePacketForKey(string ticket)
        {
            CachePacket packet;

            if (!this.m_innerCache.TryGetValue(ticket, out packet))
            {
                packet = new CachePacket();
                this.m_innerCache.CacheValue(ticket, packet);
            }

            return(packet);
        }
Example #2
0
 /// <summary>
 /// 处理操纵请求
 /// </summary>
 public byte[] ProcessRequest(byte[] bytes)
 {
     try
     {
         CachePacket packet  = Serializer.DeserializeFromBytes <CachePacket>(bytes);
         Message     message = Serializer.DeserializeFromBytes <Message>(packet.Data);
         if (Message.CommandType.Set == message.Command)
         {
             Logger.Info("Set Command.");
             SetItem(message.Key, message.Value, message.Overrrides);
         }
         else if (Message.CommandType.Get == message.Command)
         {
             Logger.Info("Get Command.");
             object value = GetItem(message.Key);
             message.Value = value;
         }
         else if (Message.CommandType.SetList == message.Command)
         {
             Logger.Info("Set List Command.");
             List <object> keys = message.Values;
             foreach (var key in keys)
             {
                 SetItem(key, message.Value, message.Overrrides);
             }
         }
         else
         {
             Logger.Info("Get List Command.");
             message.Values = new List <object>(GetKeyByValue(message.Value, message.Key, message.TopN));
         }
         return(Serializer.SerializeToBytes(message));
     }
     catch (Exception exception)
     {
         Logger.Error(exception);
     }
     return(null);
 }