コード例 #1
0
        /// <summary>
        /// 根据一条数据记录创建实体对象
        /// </summary>
        public static MemcachedGetFrequencyEntity CreateEntity(DataRow dr)
        {
            MemcachedGetFrequencyEntity ent = new MemcachedGetFrequencyEntity();

            if (dr["CacheKey"] != DBNull.Value)
            {
                ent.CacheKey = (string)dr["CacheKey"];
            }
            if (dr["FreCount"] != DBNull.Value)
            {
                ent.FreCount = int.Parse(dr["FreCount"].ToString());
            }
            if (dr["LastGetDateTime"] != DBNull.Value)
            {
                ent.LastGetDateTime = DateTime.Parse(dr["LastGetDateTime"].ToString());
            }
            if (dr["MemcachedGetFrequencyId"] != DBNull.Value)
            {
                ent.MemcachedGetFrequencyId = int.Parse(dr["MemcachedGetFrequencyId"].ToString());
            }
            if (dr["FreMin"] != DBNull.Value)
            {
                ent.FreMin = int.Parse(dr["FreMin"].ToString());
            }
            if (dr["CacheKeyPrefix"] != DBNull.Value)
            {
                ent.CacheKeyPrefix = (string)dr["CacheKeyPrefix"];
            }
            if (dr["DataChange_LastTime"] != DBNull.Value)
            {
                ent.DataChange_LastTime = DateTime.Parse(dr["DataChange_LastTime"].ToString());
            }
            return(ent);
        }
コード例 #2
0
        public bool Update(MemcachedGetFrequencyEntity entity)
        {
            DbCommand cmd = DB.DbProviderFactory.CreateCommand();

            cmd.CommandText = "spA_MemcachedGetFrequency_u";
            cmd.CommandType = System.Data.CommandType.StoredProcedure;

            DB.AddInParameter(cmd, "@MemcachedGetFrequencyId", DbType.AnsiString, entity.MemcachedGetFrequencyId);
            if (entity.CacheKey != null)
            {
                DB.AddInParameter(cmd, "@CacheKey", DbType.AnsiString, entity.CacheKey);
            }
            DB.AddInParameter(cmd, "@FreCount", DbType.Int32, entity.FreCount);
            if (entity.LastGetDateTime.Year != 1)
            {
                DB.AddInParameter(cmd, "@LastGetDateTime", DbType.DateTime, entity.LastGetDateTime);
            }
            DB.AddInParameter(cmd, "@FreMin", DbType.Int32, entity.FreMin);
            if (entity.CacheKeyPrefix != null)
            {
                DB.AddInParameter(cmd, "@CacheKeyPrefix", DbType.AnsiString, entity.CacheKeyPrefix);
            }
            if (entity.DataChange_LastTime.Year != 1)
            {
                DB.AddInParameter(cmd, "@DataChange_LastTime", DbType.DateTime, entity.DataChange_LastTime);
            }
            return(DB.ExecuteNonQuery(cmd) == 0 ? true : false);
        }
コード例 #3
0
        public static void CleanFreCount()
        {
            DataTable   dt           = new MemcachedGetFrequencyDAL().SelectTableId();
            IList <int> frequencyIds = new List <int>();

            foreach (DataRow row in dt.Rows)
            {
                frequencyIds.Add(int.Parse(row["MemcachedGetFrequencyId"].ToString()));
            }
            MemcachedGetFrequencyDAL dal = new MemcachedGetFrequencyDAL();

            foreach (int frequenceId in frequencyIds)
            {
                try
                {
                    MemcachedGetFrequencyEntity entity = dal.Select(frequenceId);
                    if (entity != null)
                    {
                        entity.FreCount            = 0;
                        entity.DataChange_LastTime = DateTime.Now;
                        entity.LastGetDateTime     = DateTime.Now;
                        dal.Update(entity);
                    }
                }
                catch (Exception ex)
                {
                    Logging.HHLogHelperV2.ERRORGlobalException(ex);
                }
            }
        }
コード例 #4
0
 /// <summary>
 /// 根据一条数据记录创建实体对象
 /// </summary>
 public static MemcachedGetFrequencyEntity CreateEntity(DataRow dr)
 {
     MemcachedGetFrequencyEntity ent = new MemcachedGetFrequencyEntity();
     if(dr["CacheKey"] != DBNull.Value)ent.CacheKey = (string)dr["CacheKey"];            
     if(dr["FreCount"] != DBNull.Value)ent.FreCount = int.Parse(dr["FreCount"].ToString());
     if(dr["LastGetDateTime"] != DBNull.Value)ent.LastGetDateTime = DateTime.Parse(dr["LastGetDateTime"].ToString());            
     if(dr["MemcachedGetFrequencyId"] != DBNull.Value)ent.MemcachedGetFrequencyId = int.Parse(dr["MemcachedGetFrequencyId"].ToString());
     if(dr["FreMin"] != DBNull.Value)ent.FreMin = int.Parse(dr["FreMin"].ToString());            
     if(dr["CacheKeyPrefix"] != DBNull.Value)ent.CacheKeyPrefix = (string)dr["CacheKeyPrefix"];            
     if(dr["DataChange_LastTime"] != DBNull.Value)ent.DataChange_LastTime = DateTime.Parse(dr["DataChange_LastTime"].ToString());
     return ent;
 }
コード例 #5
0
        public static void InitCfgData(string key, string jsonCallEnity)
        {
            try
            {
                var    index          = key.IndexOf(CacheManager.MAIN_KEY_SPLIT_CHAR);
                string cacheKeyPrefix = index >= 0 ? key.Substring(0, index) : key;
                MemcachedUpdateSetConfigDAL    configDAL    = new MemcachedUpdateSetConfigDAL();
                MemcachedUpdateSetConfigEntity configEngity = configDAL.Select(string.Format("CacheKeyPrefix='{0}'", cacheKeyPrefix));
                if (configEngity == null)
                {
                    configEngity = new MemcachedUpdateSetConfigEntity();
                    configEngity.CacheKeyPrefix      = cacheKeyPrefix;
                    configEngity.DataChange_LastTime = DateTime.Now;
                    configEngity.FreMin         = 0;//数据库默认
                    configEngity.IsJobActByMin  = 0;
                    configEngity.UpdateHourSpan = KeyMinuteManager.DefaultMinute;
                    configDAL.Insert(configEngity);
                }

                MemcachedUpdateRuleDAL    ruleDAL    = new MemcachedUpdateRuleDAL();
                MemcachedUpdateRuleEntity ruleEntity = ruleDAL.Select(string.Format("CacheKey='{0}'", key));
                if (ruleEntity == null)
                {
                    ruleEntity                     = new MemcachedUpdateRuleEntity();
                    ruleEntity.CacheKey            = key;
                    ruleEntity.CacheKeyPrefix      = cacheKeyPrefix;
                    ruleEntity.ConditionEntityJson = jsonCallEnity;
                    ruleEntity.DataChange_LastTime = DateTime.Now;
                    ruleEntity.IsJobActByMin       = configEngity.IsJobActByMin;
                    ruleEntity.LastUpdateTime      = DateTime.Now;
                    ruleEntity.UpdateHourSpan      = configEngity.UpdateHourSpan;
                    ruleDAL.Insert(ruleEntity);
                }

                MemcachedGetFrequencyDAL    freqDAL    = new MemcachedGetFrequencyDAL();
                MemcachedGetFrequencyEntity freqEntity = freqDAL.Select(string.Format("CacheKey='{0}'", key));
                if (freqEntity == null)
                {
                    freqEntity                     = new MemcachedGetFrequencyEntity();
                    freqEntity.CacheKey            = key;
                    freqEntity.CacheKeyPrefix      = cacheKeyPrefix;
                    freqEntity.DataChange_LastTime = DateTime.Now;
                    freqEntity.FreMin              = configEngity.FreMin;
                    freqEntity.FreCount            = 1;
                    freqEntity.LastGetDateTime     = DateTime.Now;
                    freqDAL.Insert(freqEntity);
                }
            }
            catch (Exception ex)
            {
                Logging.HHLogHelperV2.ERRORGlobalException(ex);
            }
        }
コード例 #6
0
        /// <summary>
        /// 根据条件获取一个实体对象
        /// </summary>
        public MemcachedGetFrequencyEntity Select(string where)
        {
            DbCommand cmd = DB.DbProviderFactory.CreateCommand();

            cmd.CommandText = "select * from MemcachedGetFrequency with(nolock) where " + where;
            cmd.CommandType = System.Data.CommandType.Text;

            DataSet ds = DB.ExecuteDataSet(cmd);

            if (ds.Tables[0].Rows.Count == 0)
            {
                return(null);
            }

            DataRow dr = ds.Tables[0].Rows[0];

            return(MemcachedGetFrequencyEntity.CreateEntity(dr));
        }
コード例 #7
0
        /// <summary>
        /// 根据主键获取一个实体对象
        /// </summary>
        public MemcachedGetFrequencyEntity Select(int MemcachedGetFrequencyId)
        {
            DbCommand cmd = DB.DbProviderFactory.CreateCommand();

            cmd.CommandText = "select * from MemcachedGetFrequency with(nolock) where MemcachedGetFrequencyId=@MemcachedGetFrequencyId";
            cmd.CommandType = System.Data.CommandType.Text;

            DB.AddInParameter(cmd, "MemcachedGetFrequencyId", DbType.Int32, MemcachedGetFrequencyId);
            DataSet ds = DB.ExecuteDataSet(cmd);

            if (ds.Tables[0].Rows.Count == 0)
            {
                return(null);
            }

            DataRow dr = ds.Tables[0].Rows[0];

            return(MemcachedGetFrequencyEntity.CreateEntity(dr));
        }
コード例 #8
0
 public static void UpdateFreCount(string key, int freCount)
 {
     try
     {
         MemcachedGetFrequencyDAL    frequencyDAL = new MemcachedGetFrequencyDAL();
         MemcachedGetFrequencyEntity entity       = frequencyDAL.Select(string.Format("CacheKey='{0}'", key));
         if (entity != null)
         {
             entity.FreCount           += freCount;
             entity.LastGetDateTime     = DateTime.Now;
             entity.DataChange_LastTime = DateTime.Now;
             frequencyDAL.Update(entity);
         }
     }
     catch (Exception ex)
     {
         Logging.HHLogHelperV2.ERRORGlobalException(ex);
     }
 }
コード例 #9
0
        public bool Update(MemcachedGetFrequencyEntity entity)
        {
            DbCommand cmd = DB.DbProviderFactory.CreateCommand();
            cmd.CommandText = "spA_MemcachedGetFrequency_u";
            cmd.CommandType = System.Data.CommandType.StoredProcedure;

            DB.AddInParameter(cmd, "@MemcachedGetFrequencyId", DbType.AnsiString, entity.MemcachedGetFrequencyId);
            if (entity.CacheKey != null) DB.AddInParameter(cmd, "@CacheKey", DbType.AnsiString, entity.CacheKey);
            DB.AddInParameter(cmd, "@FreCount", DbType.Int32, entity.FreCount);
            if (entity.LastGetDateTime.Year != 1) DB.AddInParameter(cmd, "@LastGetDateTime", DbType.DateTime, entity.LastGetDateTime);
            DB.AddInParameter(cmd, "@FreMin", DbType.Int32, entity.FreMin);
            if (entity.CacheKeyPrefix != null) DB.AddInParameter(cmd, "@CacheKeyPrefix", DbType.AnsiString, entity.CacheKeyPrefix);
            if (entity.DataChange_LastTime.Year != 1) DB.AddInParameter(cmd, "@DataChange_LastTime", DbType.DateTime, entity.DataChange_LastTime);
            return DB.ExecuteNonQuery(cmd) == 0 ? true : false;
        }
コード例 #10
0
ファイル: CfgService.cs プロジェクト: deboe2015/Ctrip.SOA
        public static void InitCfgData(string key, string jsonCallEnity)
        {
            try
            {
                var index=key.IndexOf(CacheManager.MAIN_KEY_SPLIT_CHAR);
                string cacheKeyPrefix = index >= 0 ? key.Substring(0, index) : key;
                MemcachedUpdateSetConfigDAL configDAL = new MemcachedUpdateSetConfigDAL();
                MemcachedUpdateSetConfigEntity configEngity = configDAL.Select(string.Format("CacheKeyPrefix='{0}'", cacheKeyPrefix));
                if (configEngity == null)
                {
                    configEngity = new MemcachedUpdateSetConfigEntity();
                    configEngity.CacheKeyPrefix = cacheKeyPrefix;
                    configEngity.DataChange_LastTime = DateTime.Now;
                    configEngity.FreMin = 0;//数据库默认
                    configEngity.IsJobActByMin = 0;
                    configEngity.UpdateHourSpan = KeyMinuteManager.DefaultMinute;
                    configDAL.Insert(configEngity);
                }

                MemcachedUpdateRuleDAL ruleDAL = new MemcachedUpdateRuleDAL();
                MemcachedUpdateRuleEntity ruleEntity = ruleDAL.Select(string.Format("CacheKey='{0}'", key));
                if (ruleEntity == null)
                {
                    ruleEntity = new MemcachedUpdateRuleEntity();
                    ruleEntity.CacheKey = key;
                    ruleEntity.CacheKeyPrefix = cacheKeyPrefix;
                    ruleEntity.ConditionEntityJson = jsonCallEnity;
                    ruleEntity.DataChange_LastTime = DateTime.Now;
                    ruleEntity.IsJobActByMin = configEngity.IsJobActByMin;
                    ruleEntity.LastUpdateTime = DateTime.Now;
                    ruleEntity.UpdateHourSpan = configEngity.UpdateHourSpan;
                    ruleDAL.Insert(ruleEntity);
                }

                MemcachedGetFrequencyDAL freqDAL = new MemcachedGetFrequencyDAL();
                MemcachedGetFrequencyEntity freqEntity = freqDAL.Select(string.Format("CacheKey='{0}'", key));
                if (freqEntity == null)
                {
                    freqEntity = new MemcachedGetFrequencyEntity();
                    freqEntity.CacheKey = key;
                    freqEntity.CacheKeyPrefix = cacheKeyPrefix;
                    freqEntity.DataChange_LastTime = DateTime.Now;
                    freqEntity.FreMin = configEngity.FreMin;
                    freqEntity.FreCount = 1;
                    freqEntity.LastGetDateTime = DateTime.Now;
                    freqDAL.Insert(freqEntity);
                }
            }
            catch(Exception ex)
            {
                Logging.HHLogHelperV2.ERRORGlobalException(ex);
            }
        }