Liuyanglong / cache

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cache from revel

demo

package main

import (
    "github.com/toolkits/cache"
    "log"
    "time"
)

func main() {
    log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
    cache.InitCache(
        "127.0.0.1:6379",
        5,
        10,
        time.Minute,
        time.Minute,
        time.Minute,
        time.Hour,
    )

    var name string
    if err := cache.Get("name", &name); err != nil {
        log.Println("not found name, set it")
        cache.Set("name", "Ulric", time.Second)
    } else {
        log.Println("should not be in here")
    }

    if err := cache.Get("name", &name); err != nil {
        log.Println("should not be in here")
    } else {
        log.Println("found name:", name)
    }

    time.Sleep(time.Second * 2)

    var nameAgain string
    if err := cache.Get("name", &nameAgain); err != nil {
        log.Println("not found name again")
    } else {
        log.Println("should not be in here")
    }

    cache.Set("age", 100, time.Second)
    var age int
    if err := cache.Get("age", &age); err != nil {
        log.Println("should not be in here")
    } else {
        log.Println("age setted:", age)
    }

    cache.Increment("age", 3)
    cache.Decrement("age", 1)
    var t int
    cache.Get("age", &t)
    log.Println("age>>>", t)

    log.Println(cache.Add("age", 23, time.Minute))
    cache.Replace("age", 24, time.Minute)
    var tt int
    cache.Get("age", &tt)
    log.Println("age>>>", tt)

    cache.Delete("age")
    var ageAgain int
    if err := cache.Get("age", &ageAgain); err != nil {
        log.Println("delete age successfully")
    } else {
        log.Println("should not be in here")
    }

    type User struct {
        Name string
        Age  int
    }

    cache.Set("user", &User{"Ulric", 100}, time.Minute)
    var u User
    cache.Get("user", &u)
    log.Println(u)

}

About


Languages

Language:Go 100.0%