redish

command module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

README

redish

Quick, simple and small redis-cli written in GO

Inspired by Redli

Installation

go install github.com/dansailer/redish@latest

Or build from source:

git clone https://github.com/dansailer/redish.git
cd redish
go build -o redish main.go

Usage

Basic Connection
# Connect to local Redis
./redish

# Connect to remote Redis
./redish -uri redis.example.com:6379

# Connect with authentication
./redish -uri redis.example.com:6379 -user myuser -password mypassword

# Connect with TLS
./redish -uri redis.example.com:6380 -tls

# Connect with insecure TLS (skip certificate validation)
./redish -uri redis.example.com:6380 -tls -insecure
Command Line Execution
# Execute single command
./redish -commands "PING"

# Execute multiple commands
./redish -commands "SET key value;GET key;DEL key"
Environment Variables
# Set password via environment variable
export REDIS_PASSWORD=mysecretpassword
./redish -uri redis.example.com:6379

Testing

Quick Local Test
# Run the test script (requires Docker or Podman)
./test-redis-connectivity.sh

Development

Building
go build -o redish main.go

Releasing

This repository uses Goreleaser in CI to build cross-platform binaries, create archives, generate checksums, and publish a GitHub release.

CI behavior

  • The GitHub Actions workflow triggers on pushed tags matching v*.
  • A test job runs first (it starts a redis service for integration tests). If tests pass, the build_release job runs goreleaser to produce artifacts and publish the release.

Triggering a release (normal flow)

  1. Create a signed or annotated tag locally, for example:
git tag -a v1.2.3 -m "Release v1.2.3"
git push origin v1.2.3
  1. The Actions workflow will run on the pushed tag and publish artifacts to a GitHub release.

Running goreleaser locally (dry run)

goreleaser release --snapshot --rm-dist

Publishing locally (be careful — this will attempt to publish to GitHub):

GITHUB_TOKEN=ghp_xxx goreleaser release --rm-dist

Notes

  • The CI job runs a Redis container to satisfy integration tests. When running tests locally, make sure Redis is running on 127.0.0.1:6379 (or adapt tests).
  • The goreleaser configuration is in .goreleaser.yml. Adjust it if you need different archive names, signatures, or additional artifacts.

License

See LICENSE file for details.

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