beego快取問題

1272881215發表於2016-11-20

使用 beego1.7.1 做 web 開發,用到 beego 的快取時遇到的一個問題.

我建立了一個 TestCache.go 的測試檔案,程式碼如下:

package main

import (
    "fmt"
    "time"

    "github.com/astaxie/beego/cache"
)

func main() {
    fmt.Println("==============分割線============")
    fmt.Println("現在訪問的時間戳:", time.Now().Unix())
    //beego cache
    bc, _ := cache.NewCache("file", `{"CachePath":"./cache","FileSuffix":".cache","DirectoryLevel":2,"EmbedExpiry":20}`)
    IsExist := bc.IsExist("MyCache")
    fmt.Println("是否存在快取:", IsExist)
    if IsExist {
        if bc.Get("MyCache") == nil {
            bc.Put("MyCache", "hello beego!", 10*time.Second)
        }
    } else {
        bc.Put("MyCache", "hello world!", 10*time.Second)
        fmt.Println("原本快取不存在,現在存了一個進去")
    }
    fmt.Println("快取的值:", bc.Get("MyCache"))
}

執行結果如下:

E:\Go\workspace\src\pratice>go run TestCache.go ==============分割線============ 現在訪問的時間戳: 1479654743 是否存在快取: false 原本快取不存在,現在存了一個進去 快取的值: hello world!

E:\Go\workspace\src\pratice>go run TestCache.go ==============分割線============ 現在訪問的時間戳: 1479654754 是否存在快取: true 快取的值:

請問 10 秒後再執行"go run TestCache.go"訪問為什麼獲取不到值了?

更多原創文章乾貨分享,請關注公眾號
  • beego快取問題
  • 加微信實戰群請加微信(註明:實戰群):gocnio

相關文章