On this page
Badger
What is Badger
BadgerDB is an embeddable, persistent and fast key-value (KV) database written in pure Go. It is the underlying database for Dgraph, a fast, distributed graph database. It’s meant to be a performant alternative to non-Go-based key-value stores like RocksDB.
Github repository
https://github.com/dgraph-io/badger
Use Badger
With Caddy
You have to build your caddy instance including Souin
and Badger
using xcaddy
(refer to the build caddy section).
You will be able to use badger in your Caddyfile or JSON configuration file.
Configuration
You can find the configuration for Badger here or check the values table below.
Values
Key name | type | required |
---|---|---|
Dir | string | ✅ |
ValueDir | string | ✅ |
SyncWrites | bool | ❌ |
NumVersionsToKeep | int | ❌ |
ReadOnly | bool | ❌ |
InMemory | bool | ❌ |
MetricsEnabled | bool | ❌ |
NumGoroutines | int | ❌ |
MemTableSize | int64 | ❌ |
BaseTableSize | int64 | ❌ |
BaseLevelSize | int64 | ❌ |
LevelSizeMultiplier | int | ❌ |
TableSizeMultiplier | int | ❌ |
MaxLevels | int | ❌ |
VLogPercentile | float64 | ❌ |
ValueThreshold | int64 | ❌ |
NumMemtables | int | ❌ |
BlockSize | int | ❌ |
BloomFalsePositive | float64 | ❌ |
BlockCacheSize | int64 | ❌ |
IndexCacheSize | int64 | ❌ |
NumLevelZeroTables | int | ❌ |
NumLevelZeroTablesStall | int | ❌ |
ValueLogFileSize | int64 | ❌ |
ValueLogMaxEntries | uint32 | ❌ |
NumCompactors | int | ❌ |
CompactL0OnClose | bool | ❌ |
LmaxCompaction | bool | ❌ |
ZSTDCompressionLevel | int | ❌ |
VerifyValueChecksum | bool | ❌ |
EncryptionKey | []byte | ❌ |
EncryptionKeyRotationDuration | time.Duration | ❌ |
BypassLockGuard | bool | ❌ |
DetectConflicts | bool | ❌ |
NamespaceOffset | int | ❌ |
ExternalMagicVersion | uint16 | ❌ |