學習之路三十四 再一次重構快取設計

2022-01-19 18:37:32 字數 1084 閱讀 8998

」 已經有很長時間了,這段時間正好在做專案優化,所以對快取這塊做了重構。

重構的內容包括:輪詢+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)]2

public

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 ...