2015-04-06 72 views
2

緩存數據庫結果我目前編碼與陶醉Web框架的幫助下轉到一個Web應用程序。我已經到了想要從數據庫提供結果的地步,但是有相當數量的行需要服務(〜5000-10000)。信息只會每3分鐘更改一次,因此實施某種形式的緩存可能是一個好主意。在Golang(陶醉)

隨緣框架提供了緩存解決方案,但我不知道這樣的事情是如何工作的,如果這是我的問題的最佳解決方案。另一個解決方案可能是創建一個帶有結果的全局數組,並且偶爾抓一個切片(如果有很多用戶,這會更好嗎?)。

你們能幫我嗎?我真的很感激它。

+2

你讀過[DOC](http://revel.github.io/manual/cache.html)? 先從緩存中讀取,如果沒有緩存,則從db讀取,然後設置緩存。如果更新,也更新緩存。 – holys 2015-04-22 11:46:49

+1

您可以使用'redis'或'memcached'。 [示例](https://github.com/huacnlee/mediom/blob/master/conf/app.conf#L29) – holys 2015-04-22 11:48:18

+0

你能嘗試EnableCache?這是我的團隊目前在巴西電子商務系統中使用的緩存庫。我最近把這個實現放在了GitHub上。 我希望能幫到你!讓我知道這是否適合您的情況。 https://github.com/darciopacifico/enablecache – DLopes 2015-10-29 13:21:06

回答

1

陶醉添加

cache.memcached = true 
cache.hosts="127.0.0.1:11211 

要你的conf/app.conf,並確保你已經安裝了memcached的。然後導入github.com/revel/revel/cache並在代碼中,你可以使用

var results []string 
if err := cache.Get("res", &results); err == nil { 
    // use results 
} else { 
    // do db query 
    cache.Set("results", results, 3*time.Minute) 
}