package filecache
import "github.com/gohugoio/hugo/cache/filecache"
Index ¶
- Variables
- type Cache
- func NewCache(fs afero.Fs, maxAge time.Duration, pruneAllRootDir string) *Cache
- func (c *Cache) Get(id string) (ItemInfo, io.ReadCloser, error)
- func (c *Cache) GetBytes(id string) (ItemInfo, []byte, error)
- func (c *Cache) GetOrCreate(id string, create func() (io.ReadCloser, error)) (ItemInfo, io.ReadCloser, error)
- func (c *Cache) GetOrCreateBytes(id string, create func() ([]byte, error)) (ItemInfo, []byte, error)
- func (c *Cache) Prune(force bool) (int, error)
- func (c *Cache) ReadOrCreate(id string, read func(info ItemInfo, r io.ReadSeeker) error, create func(info ItemInfo, w io.WriteCloser) error) (info ItemInfo, err error)
- func (c *Cache) WriteCloser(id string) (ItemInfo, io.WriteCloser, error)
- type Caches
- func NewCaches(p *helpers.PathSpec) (Caches, error)
- func (f Caches) AssetsCache() *Cache
- func (f Caches) Get(name string) *Cache
- func (f Caches) GetCSVCache() *Cache
- func (f Caches) GetJSONCache() *Cache
- func (f Caches) ImageCache() *Cache
- func (f Caches) ModulesCache() *Cache
- func (c Caches) Prune() (int, error)
- type Config
- type Configs
- func DecodeConfig(fs afero.Fs, cfg config.Provider) (Configs, error)
- func (c Configs) CacheDirModules() string
- type ItemInfo
Variables ¶
ErrFatal can be used to signal an unrecoverable error.
Types ¶
type Cache ¶
Cache caches a set of files in a directory. This is usually a file on disk, but since this is backed by an Afero file system, it can be anything.
func NewCache ¶
NewCache creates a new file cache with the given filesystem and max age.
func (*Cache) Get ¶
Get gets the file with the given id from the cahce, nil if none found.
func (*Cache) GetBytes ¶
GetBytes gets the file content with the given id from the cache, nil if none found.
func (*Cache) GetOrCreate ¶
func (c *Cache) GetOrCreate(id string, create func() (io.ReadCloser, error)) (ItemInfo, io.ReadCloser, error)
GetOrCreate tries to get the file with the given id from cache. If not found or expired, create will be invoked and the result cached. This method is protected by a named lock using the given id as identifier.
func (*Cache) GetOrCreateBytes ¶
func (c *Cache) GetOrCreateBytes(id string, create func() ([]byte, error)) (ItemInfo, []byte, error)
GetOrCreateBytes is the same as GetOrCreate, but produces a byte slice.
func (*Cache) Prune ¶
Prune removes expired and unused items from this cache. If force is set, everything will be removed not considering expiry time.
func (*Cache) ReadOrCreate ¶
func (c *Cache) ReadOrCreate(id string, read func(info ItemInfo, r io.ReadSeeker) error, create func(info ItemInfo, w io.WriteCloser) error) (info ItemInfo, err error)
ReadOrCreate tries to lookup the file in cache. If found, it is passed to read and then closed. If not found a new file is created and passed to create, which should close it when done.
func (*Cache) WriteCloser ¶
WriteCloser returns a transactional writer into the cache. It's important that it's closed when done.
type Caches ¶
Caches is a named set of caches.
func NewCaches ¶
NewCaches creates a new set of file caches from the given configuration.
func (Caches) AssetsCache ¶
AssetsCache gets the file cache for assets (processed resources, SCSS etc.).
func (Caches) Get ¶
Get gets a named cache, nil if none found.
func (Caches) GetCSVCache ¶
GetCSVCache gets the file cache for getCSV.
func (Caches) GetJSONCache ¶
GetJSONCache gets the file cache for getJSON.
func (Caches) ImageCache ¶
ImageCache gets the file cache for processed images.
func (Caches) ModulesCache ¶
ModulesCache gets the file cache for Hugo Modules.
func (Caches) Prune ¶
Prune removes expired and unused items from this cache. The last one requires a full build so the cache usage can be tracked. Note that we operate directly on the filesystem here, so this is not thread safe.
type Config ¶
type Config struct { // Max age of cache entries in this cache. Any items older than this will // be removed and not returned from the cache. // a negative value means forever, 0 means cache is disabled. MaxAge time.Duration // The directory where files are stored. Dir string // contains filtered or unexported fields }
type Configs ¶
func DecodeConfig ¶
func (Configs) CacheDirModules ¶
type ItemInfo ¶
type ItemInfo struct { // This is the file's name relative to the cache's filesystem. Name string }
ItemInfo contains info about a cached file.
Source Files ¶
filecache.go filecache_config.go filecache_pruner.go
- Version
- v0.82.1
- Published
- Apr 20, 2021
- Platform
- linux/amd64
- Imports
- 18 packages
- Last checked
- 2 hours ago –
Tools for package owners.