weed3 2 3 3 查詢之快取控制

2021-09-28 22:33:57 字數 3228 閱讀 4384

原始碼:

原始碼:快取控制,是查詢中的重點

框架提供的是控**務。而非快取服務本身,了解這個很重要。

快取控制需要兩個重要的介面定義:
//用它可以包裝各種快取服務

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結構的應用中,為了提公升系統的響應效率,經常會使用頁面分塊的快取方式,在具體的實現上象經常...