21 lines
560 B
Markdown
21 lines
560 B
Markdown
## File cache
|
|
|
|
Package `file_cache` implements a helper function that would cache results of
|
|
an expensive operation to a file. It would use file contents when the file exist
|
|
and won't call the function again unless the file is deleted.
|
|
|
|
```go
|
|
import "github.com/localhots/gobelt/filecache"
|
|
```
|
|
|
|
```go
|
|
ctx := context.Background()
|
|
var items []Item
|
|
filecache.Load(&items, "tmp/cache/items.json", func() {
|
|
err := conn.Query(ctx, "SELECT * FROM items").Load(&items).Error()
|
|
if err != nil {
|
|
log.Fatalf("Failed to load items: %v", err)
|
|
}
|
|
})
|
|
```
|