loki cache_config

The cache block configures the cache backend. The supported CLI flags <prefix> used to reference this configuration block are:

  • frontend

  • frontend.index-stats-results-cache

  • store.chunks-cache

  • store.index-cache-read

  • store.index-cache-write

    (deprecated: use embedded-cache instead) Enable in-memory cache (auto-enabled

    for the chunks & query results cache if no other cache is configured).

    CLI flag: -<prefix>.cache.enable-fifocache

    [enable_fifocache: <boolean> | default = false]

    The default validity of entries for caches unless overridden.

    CLI flag: -<prefix>.default-validity

    [default_validity: <duration> | default = 1h]

    background:
    # At what concurrency to write back to cache.
    # CLI flag: -<prefix>.background.write-back-concurrency
    [writeback_goroutines: <int> | default = 10]

    # How many key batches to buffer for background write-back.
    # CLI flag: -<prefix>.background.write-back-buffer
    [writeback_buffer: <int> | default = 10000]
    
    # Size limit in bytes for background write-back.
    # CLI flag: -<prefix>.background.write-back-size-limit
    [writeback_size_limit: <int> | default = 1GB]
    

    memcached:
    # How long keys stay in the memcache.
    # CLI flag: -<prefix>.memcached.expiration
    [expiration: <duration> | default = 0s]

    # How many keys to fetch in each batch.
    # CLI flag: -<prefix>.memcached.batchsize
    [batch_size: <int> | default = 1024]
    
    # Maximum active requests to memcache.
    # CLI flag: -<prefix>.memcached.parallelism
    [parallelism: <int> | default = 100]
    

    memcached_client:
    # Hostname for memcached service to use. If empty and if addresses is unset,
    # no memcached will be used.
    # CLI flag: -<prefix>.memcached.hostname
    [host: <string> | default = ""]

    # SRV service used to discover memcache servers.
    # CLI flag: -<prefix>.memcached.service
    [service: <string> | default = "memcached"]
    
    # EXPERIMENTAL: Comma separated addresses list in DNS Service Discovery
    # format:
    # https://cortexmetrics.io/docs/configuration/arguments/#dns-service-discovery
    # CLI flag: -<prefix>.memcached.addresses
    [addresses: <string> | default = ""]
    
    # Maximum time to wait before giving up on memcached requests.
    # CLI flag: -<prefix>.memcached.timeout
    [timeout: <duration> | default = 100ms]
    
    # Maximum number of idle connections in pool.
    # CLI flag: -<prefix>.memcached.max-idle-conns
    [max_idle_conns: <int> | default = 16]
    
    # The maximum size of an item stored in memcached. Bigger items are not
    # stored. If set to 0, no maximum size is enforced.
    # CLI flag: -<prefix>.memcached.max-item-size
    [max_item_size: <int> | default = 0]
    
    # Period with which to poll DNS for memcache servers.
    # CLI flag: -<prefix>.memcached.update-interval
    [update_interval: <duration> | default = 1m]
    
    # Use consistent hashing to distribute to memcache servers.
    # CLI flag: -<prefix>.memcached.consistent-hash
    [consistent_hash: <boolean> | default = true]
    
    # Trip circuit-breaker after this number of consecutive dial failures (if zero
    # then circuit-breaker is disabled).
    # CLI flag: -<prefix>.memcached.circuit-breaker-consecutive-failures
    [circuit_breaker_consecutive_failures: <int> | default = 10]
    
    # Duration circuit-breaker remains open after tripping (if zero then 60
    # seconds is used).
    # CLI flag: -<prefix>.memcached.circuit-breaker-timeout
    [circuit_breaker_timeout: <duration> | default = 10s]
    
    # Reset circuit-breaker counts after this long (if zero then never reset).
    # CLI flag: -<prefix>.memcached.circuit-breaker-interval
    [circuit_breaker_interval: <duration> | default = 10s]
    

    redis:
    # Redis Server or Cluster configuration endpoint to use for caching. A
    # comma-separated list of endpoints for Redis Cluster or Redis Sentinel. If
    # empty, no redis will be used.
    # CLI flag: -<prefix>.redis.endpoint
    [endpoint: <string> | default = ""]

    # Redis Sentinel master name. An empty string for Redis Server or Redis
    # Cluster.
    # CLI flag: -<prefix>.redis.master-name
    [master_name: <string> | default = ""]
    
    # Maximum time to wait before giving up on redis requests.
    # CLI flag: -<prefix>.redis.timeout
    [timeout: <duration> | default = 500ms]
    
    # How long keys stay in the redis.
    # CLI flag: -<prefix>.redis.expiration
    [expiration: <duration> | default = 0s]
    
    # Database index.
    # CLI flag: -<prefix>.redis.db
    [db: <int> | default = 0]
    
    # Maximum number of connections in the pool.
    # CLI flag: -<prefix>.redis.pool-size
    [pool_size: <int> | default = 0]
    
    # Username to use when connecting to redis.
    # CLI flag: -<prefix>.redis.username
    [username: <string> | default = ""]
    
    # Password to use when connecting to redis.
    # CLI flag: -<prefix>.redis.password
    [password: <string> | default = ""]
    
    # Enable connecting to redis with TLS.
    # CLI flag: -<prefix>.redis.tls-enabled
    [tls_enabled: <boolean> | default = false]
    
    # Skip validating server certificate.
    # CLI flag: -<prefix>.redis.tls-insecure-skip-verify
    [tls_insecure_skip_verify: <boolean> | default = false]
    
    # Close connections after remaining idle for this duration. If the value is
    # zero, then idle connections are not closed.
    # CLI flag: -<prefix>.redis.idle-timeout
    [idle_timeout: <duration> | default = 0s]
    
    # Close connections older than this duration. If the value is zero, then the
    # pool does not close connections based on age.
    # CLI flag: -<prefix>.redis.max-connection-age
    [max_connection_age: <duration> | default = 0s]
    
    # By default, the Redis client only reads from the master node. Enabling this
    # option can lower pressure on the master node by randomly routing read-only
    # commands to the master and any available replicas.
    # CLI flag: -<prefix>.redis.route-randomly
    [route_randomly: <boolean> | default = false]
    

    embedded_cache:
    # Whether embedded cache is enabled.
    # CLI flag: -<prefix>.embedded-cache.enabled
    [enabled: <boolean> | default = false]

    # Maximum memory size of the cache in MB.
    # CLI flag: -<prefix>.embedded-cache.max-size-mb
    [max_size_mb: <int> | default = 100]
    
    # The time to live for items in the cache before they get purged.
    # CLI flag: -<prefix>.embedded-cache.ttl
    [ttl: <duration> | default = 1h]
    

    fifocache:
    # Maximum memory size of the cache in bytes. A unit suffix (KB, MB, GB) may be
    # applied.
    # CLI flag: -<prefix>.fifocache.max-size-bytes
    [max_size_bytes: <string> | default = "1GB"]

    # deprecated: Maximum number of entries in the cache.
    # CLI flag: -<prefix>.fifocache.max-size-items
    [max_size_items: <int> | default = 0]
    
    # The time to live for items in the cache before they get purged.
    # CLI flag: -<prefix>.fifocache.ttl
    [ttl: <duration> | default = 1h]
    
    # Deprecated (use ttl instead): The expiry duration for the cache.
    # CLI flag: -<prefix>.fifocache.duration
    [validity: <duration> | default = 0s]
    
    # Deprecated (use max-size-items or max-size-bytes instead): The number of
    # entries to cache.
    # CLI flag: -<prefix>.fifocache.size
    [size: <int> | default = 0]
    
    [purgeinterval: <duration>]
    

    The maximum number of concurrent asynchronous writeback cache can occur.

    CLI flag: -<prefix>.max-async-cache-write-back-concurrency

    [async_cache_write_back_concurrency: <int> | default = 16]

    The maximum number of enqueued asynchronous writeback cache allowed.

    CLI flag: -<prefix>.max-async-cache-write-back-buffer-size

    [async_cache_write_back_buffer_size: <int> | default = 500]

相关推荐
祈澈菇凉1 小时前
如何结合使用thread-loader和cache-loader以获得最佳效果?
前端
垣宇1 小时前
Vite 和 Webpack 的区别和选择
前端·webpack·node.js
java1234_小锋2 小时前
一周学会Flask3 Python Web开发-客户端状态信息Cookie以及加密
前端·python·flask·flask3
化作繁星2 小时前
如何在 React 中测试高阶组件?
前端·javascript·react.js
Au_ust2 小时前
千峰React:函数组件使用(2)
前端·javascript·react.js
爱吃南瓜的北瓜2 小时前
npm install 卡在“sill idealTree buildDeps“
前端·npm·node.js
TTc_2 小时前
记录首次安装远古时代所需的运行环境成功npm install --save-dev node-sass
前端·npm·sass
翻滚吧键盘2 小时前
npm使用了代理,但是代理软件已经关闭导致创建失败
前端·npm·node.js
烂蜻蜓2 小时前
Uniapp 设计思路全分享
前端·css·vue.js·uni-app·html
GAMESLI-GIS2 小时前
【WebGL】fbo双pass案例
前端·javascript·webgl