import ttl_map "github.com/leprosus/golang-ttl-map"
heap := ttl_map.New()
heap.Path("/path/to/auto-save-file.tsv")
heap.Set("key", "value", 60)
value := heap.Get("key")
heap.Save()
heap.Restore()
var m = map[string]string{}
m["key"] = "value"
heap.Set("obj", m, 60)
heap.Support(map[string]string)
heap.Save()
heap.Restore()
- New() - creates new map
- Path(filePath) - sets file path to save/autosave/restore
- Set(key, value, ttl) - adds value by key with ttl in seconds
- Get(key) - returns value or empty string
- Del(key) - deletes value by key
- Range(fn func(key string, value string, ttl int64)) - iterates all actual data
- Support(struct) - registers new structure support (the method is important in a case with complex structure or map)
- Save() - saves map in tsv file
- Restore() - restores map from tsv file