public static int CachePreheatingMACAddressByUser(IRedisClient redisClient, string userId)
        {
            int result = 0;

            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(new KeyValuePair <string, object>(BaseParameterEntity.FieldParameterId, userId));
            parameters.Add(new KeyValuePair <string, object>(BaseParameterEntity.FieldCategoryCode, "MacAddress"));
            parameters.Add(new KeyValuePair <string, object>(BaseParameterEntity.FieldEnabled, 1));
            parameters.Add(new KeyValuePair <string, object>(BaseParameterEntity.FieldDeletionStateCode, 0));

            string key = "MAC:" + userId;

            BaseParameterManager parameterManager = new BaseParameterManager();

            parameterManager.SelectFields = BaseParameterEntity.FieldParameterContent;
            using (IDataReader dataReader = parameterManager.ExecuteReader(parameters))
            {
                while (dataReader.Read())
                {
                    string macAddress = dataReader[BaseParameterEntity.FieldParameterContent].ToString().ToLower();
                    redisClient.AddItemToSet(key, macAddress);
                    result++;
                }
                dataReader.Close();

                redisClient.ExpireEntryAt(key, DateTime.Now.AddMonths(3));
            }

            return(result);
        }
Example #2
0
        /// <summary>
        /// 缓存预热,强制重新缓存
        /// </summary>
        /// <returns>影响行数</returns>
        public static int CachePreheatingMacAddress()
        {
            var result = 0;

            var parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(new KeyValuePair <string, object>(BaseParameterEntity.FieldCategoryCode, "MacAddress"));
            parameters.Add(new KeyValuePair <string, object>(BaseParameterEntity.FieldEnabled, 1));
            parameters.Add(new KeyValuePair <string, object>(BaseParameterEntity.FieldDeleted, 0));

            // 把所有的数据都缓存起来的代码
            var manager = new BaseParameterManager();

            var dataReader = manager.ExecuteReader(parameters);

            if (dataReader != null && !dataReader.IsClosed)
            {
                while (dataReader.Read())
                {
                    var key = "MAC:" + dataReader[BaseParameterEntity.FieldParameterId];

                    var macAddress = dataReader[BaseParameterEntity.FieldParameterContent].ToString().ToLower();
                    CacheUtil.Set(key, macAddress);
                    result++;
                    if (result % 500 == 0)
                    {
                        Console.WriteLine(result + " : " + macAddress);
                    }
                }

                dataReader.Close();
            }

            return(result);
        }
        /// <summary>
        /// 缓存预热,强制重新缓存
        /// </summary>
        /// <returns>影响行数</returns>
        public static int CachePreheatingMACAddress()
        {
            int result = 0;

            List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >();

            parameters.Add(new KeyValuePair <string, object>(BaseParameterEntity.FieldCategoryCode, "MacAddress"));
            parameters.Add(new KeyValuePair <string, object>(BaseParameterEntity.FieldEnabled, 1));
            parameters.Add(new KeyValuePair <string, object>(BaseParameterEntity.FieldDeletionStateCode, 0));

            // 把所有的数据都缓存起来的代码
            BaseParameterManager manager = new BaseParameterManager();

            using (var redisClient = PooledRedisHelper.GetClient())
            {
                using (IDataReader dataReader = manager.ExecuteReader(parameters))
                {
                    while (dataReader.Read())
                    {
                        string key = "MAC:" + dataReader[BaseParameterEntity.FieldParameterId].ToString();

                        string macAddress = dataReader[BaseParameterEntity.FieldParameterContent].ToString().ToLower();
                        redisClient.AddItemToSet(key, macAddress);

                        redisClient.ExpireEntryAt(key, DateTime.Now.AddMonths(3));

                        result++;
                        System.Console.WriteLine(result.ToString() + " : " + macAddress);
                    }
                    dataReader.Close();
                }
            }

            return(result);
        }
        /// <summary>
        /// 根据用户编号删除预热的IP
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public static int CachePreheatingIpAddressByUser(string userId)
        {
            var result = 0;

            var parameters = new List <KeyValuePair <string, object> >
            {
                new KeyValuePair <string, object>(BaseParameterEntity.FieldParameterId, userId),
                new KeyValuePair <string, object>(BaseParameterEntity.FieldCategoryCode, "IPAddress"),
                new KeyValuePair <string, object>(BaseParameterEntity.FieldEnabled, 1),
                new KeyValuePair <string, object>(BaseParameterEntity.FieldDeleted, 0)
            };

            var key = "IP:" + userId;

            var parameterManager = new BaseParameterManager
            {
                SelectFields = BaseParameterEntity.FieldParameterContent
            };
            var dataReader = parameterManager.ExecuteReader(parameters);

            if (dataReader != null && !dataReader.IsClosed)
            {
                while (dataReader.Read())
                {
                    var ipAddress = dataReader[BaseParameterEntity.FieldParameterContent].ToString().ToLower();
                    CacheUtil.Set(key, ipAddress);
                    result++;
                }

                dataReader.Close();
            }

            return(result);
        }