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)
}