」 已經有很長時間了,這段時間正好在做專案優化,所以對快取這塊做了重構。
重構的內容包括:輪詢+xml+特性,通過這三種方式來使得快取變的簡單。
一丶xml管理sql
專案中dal層可以看到到處分散的sql語句,所以這次我統一通過xml來集中管理sql語句,然後讀取xml獲取相應的sql。
當然如果你不想每次讀取,也可以把這些sql都快取起來,也是乙個不錯的選擇。
示例:
1<?
xml version="1.0" encoding="utf-8"
?>29
<
cachesql
>
10<
pc>
11//對應的sql -- 通過節點讀取對應的sql
18pc
>
35<
icon
>
36//對應的sql
37icon
>
193cachesql
>
二丶通過attribute來標記該資料需要快取
通過自定義特性來靈活控制該資料時候要快取。
1 [attributeusage(attributetargets.field, allowmultiple = false, inherited = false)]2public
class
cacheattribute : attribute310
11public
bool
iscache
1214}15
}1617public
enum
cachetype
18
那麼我就可以在程式啟動的時候去檢查每個type是否新增了快取特性,如果有則快取該資料
三丶總結
這次重構的特點:讓快取資料變的更加靈活了。
如果下次有新的想法,小菜會繼續重構的,加油。
以同步至:個人文章目錄索引
開始再一次學習Git
這是乙個自己的管理自己學習經驗的文件。由於學習總是斷斷續續,所以沒有花時間整個學習git,這次勢必要搞懂git的相關的機制。我看的是廖雪峰的git教程,講的很不錯。接下來,開始做相關的筆記。可能會陸陸續續的進行修改 2017.3.24 今天下午,在上 軟體測試 的時候就在看git,本來是想在idea...
sql,linq基礎再一次學習
1 where 子句的作用是在對查詢結果進行分組前,將不符合where條件的行去掉,即在分組之前過濾資料,條件中不能包含聚組函式,使用where條件顯示特定的行。h ing 子句的作用是篩選滿足條件的組,即在分組之後過濾資料,條件中經常包含聚合函式,使用h ing 條件顯示特定的組,也可以使用多個分...
mysql除以 再一次學習 MySQL 索引
索引是一種提高我們查詢效率的資料結構。就好像是字典的目錄,一本幾百頁的字典,如果想快速查詢到某個字,總不能靠硬翻吧。mysql 索引一般是雜湊表或 b 樹,常用的 innodb 引擎預設使用的是 b 樹來作為索引的資料結構。如果使用 b 樹作為索引資料結構,那麼訪問或修改一條資料的時間複雜度是 o ...