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); }
/// <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); }