badger-cli

command module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 23, 2025 License: MIT Imports: 9 Imported by: 0

README

badger-cli

License Go Report Card

badger-cli is a simple command-line interface for interacting with Badger DB, a fast key-value database written in Go.

demo

Features

  • Connect to an existing Badger DB
  • Get, set, and delete key-value pairs
  • List keys with optional glob pattern matching
  • Read-only mode for safe database inspection

Installation

Install using homebrew:

brew install lovromazgon/tap/badger-cli

Or build it from source using Go:

go install github.com/lovromazgon/badger-cli

Or download the binary manually from the latest release.

Usage

$ badger-cli -h

Usage: badger-cli [options] <database_path>

A command-line interface for a Badger key-value database.

Options:
    -r, --readonly  Open database in read-only mode
    -h, --help      Show help

Examples:
    badger-cli /path/to/db
    badger-cli --readonly /path/to/db
Read-only Mode

To open the database in read-only mode (useful for inspecting production databases safely):

badger-cli --readonly /path/to/your/badger/db
# or
badger-cli -r /path/to/your/badger/db

In read-only mode:

  • The prompt will show [READONLY] >
  • Only get and list commands are available
  • set and delete commands are disabled
  • The database is opened with read-only permissions
  • The database must already exist (will not create new databases)
  • If the database is already in use by another process, you may need to run without -readonly first to ensure proper initialization

Once the CLI is running, you can use the following commands:

  • get <key>: Retrieve the value for a given key
  • set <key> <value>: Set a value for a given key (not available in read-only mode)
  • delete <key>: Delete a key-value pair (not available in read-only mode)
  • list [pattern]: List all keys, optionally filtered by a glob pattern
  • exit: Exit the CLI
Examples

Normal mode:

> set mykey myvalue
Value set successfully
> get mykey
myvalue
> list my*
mykey
> delete mykey
Value deleted successfully
> list
No matching keys found
> exit

Read-only mode:

[READONLY] > get mykey
myvalue
[READONLY] > list my*
mykey
[READONLY] > set newkey newvalue
Error: Cannot set values in read-only mode
[READONLY] > delete mykey
Error: Cannot delete values in read-only mode
[READONLY] > exit

Glob Pattern Matching

The list command supports glob pattern matching:

  • *: Matches any sequence of characters
  • ?: Matches any single character
  • [abc]: Matches any character in the set
  • [a-z]: Matches any character in the range

Examples:

  • list app_*: Lists all keys starting with "app_"
  • list *_config: Lists all keys ending with "_config"
  • list user_??: Lists all keys starting with "user_" followed by exactly two characters

Acknowledgements

The initial version of this CLI was developed with assistance from an AI language model. The code has since been modified and expanded.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL