原始碼:
原始碼:快取控制,是查詢中的重點
框架提供的是控**務。而非快取服務本身,了解這個很重要。快取控制需要兩個重要的介面定義:
//用它可以包裝各種快取服務
public
inte***ce
icacheservice
/** weed3內建了三個實現類:
*emptycache,空快取
*localcache,本地快取
*secondcache,二級快取容器(可以把兩個 icacheservice 拼到一起,變成乙個二級快取服務;多巢狀一下就是**快取服務了)
*/
public
inte***ce
icachecontroller
有了上面的基礎後,現在開始使用快取控制icacheservice cache =
newlocalcache()
;
使用快取,時間為預設(會自動產生穩定的快取key)
db.
table
("test").
select
("*").
caching
(cache)
.getmaplist()
;
使用快取,並快取30s
db.
table
("test").
caching
(cache)
.usingcache(30
)//也可以放在table() 和 select()之間
.select
("*").
getmaplist()
;
給快取加個tag(tag 相當於 快取key的虛擬資料夾)
db.
table
("test").
caching
(cache)
.usingcache(30
).cachetag
('test_all'
)//這是tag,不是key
.limit(10
,20).
select
("*").
getmaplist()
;
*3.精細控制
根據查詢結果控制快取時間
db.
table
("test").
where
("id=?",10
).caching
(cache)
.select
("*").
getitem
(usermodel.
class
,(cu,m)
->
else})
;
以乙個分頁查詢為例
db.
table
("test").
limit(20
,10).
caching
(cache)
.cachetag
("test_all").
select
("*").
getmaplist()
;db.
table
("test").
limit(30
,10).
caching
(cache)
.cachetag
("test_all").
select
("*").
getmaplist()
;//不管你有多少分頁,乙個tag把它清光
cache.
clear
("test_all"
);
這個極少用(需要單項更新的快取,建議用redis)
db.
table
("test").
where
("id=?",10
).caching
(cache)
.cachetag
("test_"+10
).select
("*").
getitem
(usermodel.
class);
cache.
update
("test_"+10
,(usermodel m)
->
);
框架的快取控制,也是極為自由的喲。應該是的吧?哈合。
快取服務的可用情況
1.內建快取服務
2.擴充套件快取服務
>
>
org.noeargroupid
>
>
weed3.cache.ehcacheartifactid
>
>
3.2.1.1version
>
dependency
>
>
>
org.noeargroupid
>
>
weed3.cache.j2cacheartifactid
>
>
3.2.1.1version
>
dependency
>
>
>
org.noeargroupid
>
>
weed3.cache.memcachedartifactid
>
>
3.2.1.1version
>
dependency
>
>
>
org.noeargroupid
>
>
weed3.cache.redisartifactid
>
>
3.2.1.1version
>
dependency
>
要不要自己封裝個? weed3 2 3 2 查詢之條件
原始碼 原始碼 查詢查然是個麻煩的話題。還好這篇條件會比較簡單 weed3 的條件構建,是相當自由的 string mobile 111 db.table test where mobile mobile and begin 1 or 2 end limit 20 select getmaplist...
java之許可權控制相關 快取禁用
url級別的許可權控制 許可權控制原理 做乙個許可權的filter,在filter中判斷使用者是否登入,登入了就可以訪問資源,沒登入就不能訪問資源 先要判斷是否需要許可權控制,然後判斷角色是否可以訪問當前路徑,然後再判斷是否登入 url許可權控制的優化 給每乙個角色配置乙個properties檔案,...
Ajax模式之快取控制器模式
此模式出自 ajax patterns and best practice 這個模式非常具備實際意義,為客戶端的快取實現做出了指導,和以往在使用傳統b s結構進行開發時所做快取的思路有乙個改進點,在傳統的b s結構的應用中,為了提公升系統的響應效率,經常會使用頁面分塊的快取方式,在具體的實現上象經常...