go get -u github.com/1makarov/go-cache
package main
import (
"fmt"
"log"
"time"
"github.com/1makarov/go-cache"
)
func main() {
c := cache.New()
defer c.Close()
if err := c.SetWithTime("userId", 42, time.Second*5); err != nil {
log.Fatal(err)
}
c.ChangeInterval(time.Second * 1)
userId, err := c.Get("userId")
if err != nil { // err == nil
log.Fatal(err)
}
fmt.Println(userId) // Output: 42
time.Sleep(time.Second * 6) // прошло 6 секунд
userId, err = c.Get("userId")
if err != nil { // err != nil
log.Fatal(err) // сработает этот код
}
}