diff options
Diffstat (limited to 'app/cache.go')
| -rw-r--r-- | app/cache.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/app/cache.go b/app/cache.go new file mode 100644 index 0000000..f75f317 --- /dev/null +++ b/app/cache.go @@ -0,0 +1,33 @@ +package main + +import ( + "encoding/json" + "github.com/garyburd/redigo/redis" + "log" +) + +const ( + cache_prefix = "status_" +) + +func CacheHosts(prefix string, h []Host) error { + c := pool.Get() + js, err := json.Marshal(h) + if err != nil { + log.Println("Serizaling to JSON failed.") + return err + } + c.Do("SET", prefix, js) + return nil +} + +func GetCache(key string) (string, error) { + c := pool.Get() + return redis.String(c.Do("GET", key)) +} + +func DelCache(key string) error { + c := pool.Get() + _, err := c.Do("DEL", key) + return err +} |
