2021-04-06 10:56:06 +00:00
|
|
|
// Package writecache implements write-cache for objects.
|
|
|
|
//
|
2022-09-01 06:14:47 +00:00
|
|
|
// Write-cache has 2 components:
|
|
|
|
// 1. Key-value (bbolt) database for storing small objects.
|
|
|
|
// 2. Filesystem tree for storing big objects.
|
2021-04-06 10:56:06 +00:00
|
|
|
//
|
2022-09-01 06:14:47 +00:00
|
|
|
// Flushing from the writecache to the main storage is done in the background.
|
|
|
|
// To make it possible to serve Read requests after the object was flushed,
|
|
|
|
// we maintain an LRU cache containing addresses of all the objects that
|
|
|
|
// could be safely deleted. The actual deletion is done during eviction from this cache.
|
2021-04-06 10:56:06 +00:00
|
|
|
package writecache
|