mirror of https://github.com/minio/minio.git
40 lines
1.3 KiB
Markdown
40 lines
1.3 KiB
Markdown
## Object caching
|
|
|
|
Object caching by turned on by default with following settings
|
|
|
|
- Default cache size 8GB, can be changed from environment variable
|
|
``MINIO_CACHE_SIZE`` supports both SI and ISO IEC standard forms
|
|
for input size parameters.
|
|
|
|
- Default expiration of entries is 72 hours, can be changed from
|
|
environment variable ``MINIO_CACHE_EXPIRY`` supportings Go
|
|
``time.Duration`` with valid units "ns", "us" (or "µs"),
|
|
"ms", "s", "m", "h".
|
|
|
|
- Default expiry interval is 1/4th of the expiration hours, so
|
|
expiration sweep happens across the cache every 1/4th the time
|
|
duration of the set entry expiration duration.
|
|
|
|
### Tricks
|
|
|
|
Setting MINIO_CACHE_SIZE=0 will turn off caching entirely.
|
|
Setting MINIO_CACHE_EXPIRY=0s will turn off cache garbage collections,
|
|
all cached objects will never expire.
|
|
|
|
### Behavior
|
|
|
|
Caching happens for both GET and PUT.
|
|
|
|
- GET caches new objects for entries not found in cache,
|
|
otherwise serves from the cache.
|
|
|
|
- PUT/POST caches all successfully uploaded objects.
|
|
|
|
NOTE: Cache is not populated if there are any errors
|
|
while reading from the disk.
|
|
|
|
Expiration happens automatically based on the configured
|
|
interval as explained above, frequently accessed objects
|
|
stay alive for significantly longer time due to the fact
|
|
that expiration time is reset for every cache hit.
|