由於最近系統訪問量過大,相關系統間處理不同步,造成相互等待時間較長,影響系統整體執行效能,造成使用者明顯感覺響應時間慢、體驗不好。所以就對每乙個模組的訪問人數加一控制。
進而決定用過濾器與redis。
此頁面在資料存在redis中。當頁面開啟時如果redis中頁面資料為空,則進行資料初始化。沒有設定新增頁面,具體原因嗎?因為控制的模組是固定的,當新增模組式,直接新增redis頁面資料即可。有點不合理哈,不過先這樣處理吧。
設定效果圖
1.1.1.redis連線基類
每次操作redis繼承此基類即可.
public abstract class redishelperpublic redishelper(string configuration_string)
public void set_configuration_string(string configuration_string)
public iredisclient rs
if (this._client == null)
return this._client;}}
}}
1.1.2.專案中redis的使用
(1)配置檔案
其中路徑可以直接寫伺服器ip位址。我把他寫成字串,是為了開發環境和正是環境都不用修改程式,直接做ip對映就行了。
(2)連線redis伺服器
public class dbperfmon : redishelper
1.1.3.資料操作【獲取各模組訪問資料,設定最大訪問數,刪除指定redis資料】
(1)其中loginname為redis key值。【乙個人同時只能操作乙個模組】
(2)模組名稱為redis value值
注:簡單說一下具體方法:
publicclass
dbperfmon : redishelper
public
bool setmaxtimes(string code, string name, int
times);;
if (rs.get>("
perfmon
") == null
) list.add(time);
else
if (list.exists(l => l.code == code && l.name ==name))
else
var flag = rs.set>("
perfmon
", list);
}return
true
; }
catch
(exception ex)
}public listgetperfmons()));
}return
list;
}int modulcount(string
modulename)
public
bool pagepush(string modulename, string
loginusername)
//}if (maxtime return
false
;
//return rs.set(loginusername, modulename, datetime.now.addminutes(30));
return
rs.set(loginusername, modulename);}}
public
bool pageremove(string
loginusername)
}}
c#中過濾器在這不再累述。準備在以後c#特性中進行詳細敘述。分別在方法執行前與方法執行後進行呼叫上邊的方法。
判斷當前訪問人數是否大於指定訪問人數,不大於則加一,繼續action
public override void onactionexecuting(actionexecutingcontext filtercontext)}
action執行後,刪除該訪問人數redis資訊
public override void onresultexecuted(resultexecutedcontext filtercontext)
此方法是後續加的,沒有過多的測試。
publicclass
exceptionfilterattribute : handleerrorattribute
}
出處:
angularJs通過過濾器實現獲取資料字典
快取資料字典 var dicmap json.parse dictdata 獲取字典值的方法 param key 關鍵字 param type 大類 return 返回結果對像 success為true,則value為字典值 arm.getdict function key,type result....
angularjs通過過濾器返回超連結
在專案中有乙個功能,需要把一段字串拼接成乙個超連結,效果如下圖,從資料庫中得到的字串格式如下 資料的格式很工整,以 和空格為標誌就可以很順利的分割,開始想象的很美好,以為直接返回就好了。但是現實很殘酷,a標籤並沒有變成超連結,而是變成了乙個字串 檢查發現並沒有被轉義,對這個感到不太理解 之後又在網上...
部落格園 CSDN部落格過濾器(附原始碼)
一 寫文章的目的 我在工作之餘總喜歡刷刷和csdn的文章,甚至有時漫無目的,影響到了工作。所以有時會想,每天這麼多文章,有哪些是自己想要的,哪些是自己用不上的,與其一篇篇看,不如做個過濾器,將兩個 的文章整合在一起,並新增些過濾條件,且不方便?二 功能分析 1 整合首頁 和csdn熱門部落格 5 以...