Linux - Installieren Sie nur redis-cli

180

Ich habe einen Linux-Server mit Redis installiert und möchte über die Befehlszeile von meinem lokalen Linux-Computer aus eine Verbindung herstellen.

Ist eine Installation redis-clinur möglich (ohne redis-serverund mit anderen Tools)?

Wenn ich nur eine redis-cliDatei auf meinen lokalen Computer kopiere und ausführe, tritt der folgende Fehler auf:

./redis-cli: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by ./redis-cli)
Oleg
quelle
2
Nun, 1. es ist nicht überraschend, dass das Kopieren der ausführbaren Datei nicht funktioniert: Höchstwahrscheinlich haben Sie unterschiedliche Architektur- und Bibliotheksversionen, die nicht funktionieren können. 2. Sie sollten das von Ihrer Distribution bereitgestellte Software-Management-System konsultieren und herausfinden, welche reditPakete es bereitstellt. Dann erfordert die Installation eines dieser Shoudl nur einen einzigen Klick. Sie sollten niemals eine wilde Installation von Dingen in einem Linux-System durchführen, wenn Sie stattdessen die Softwareverwaltung verwenden können.
Arkascha
@arkascha Danke für deinen Tipp. Ich bin ziemlich neu in Linux, daher sind diese Informationen sehr nützlich für mich
Oleg
Sie meinen, Sie sind Entwickler und arbeiten in einer Linux-Umgebung, haben aber nie Ihr Systemsoftware-Managementsystem verwendet? Welche Distribution verwenden Sie?
Arkascha
Vielleicht interessieren Sie sich auch für ein Paket namens "Hiredis", das einen minimalistischen C-Client für Redis bietet. Kein gebrauchsfertiger Cli-Client.
Arkascha
1
Was ist git clone [email protected]:antirez/redis.gitdann cd src && make redis-cli?
Deltheil

Antworten:

350

Ubuntu (getestet am 14.04) hat ein Paket namens aufgerufen, redis-toolsdas redis-cliunter anderem Tools enthält . Um es zu installieren, geben Sie Folgendes ein:

sudo apt-get install redis-tools
Иван Бишевац
quelle
17
etwas ähnliches für Centos?
Ariel Allon
@AlinPurcaru Docker laufen --rm --network = Host redis redis-cli info
yihuang
Jetzt funktioniert es nicht. http://security.ubuntu.com/ubuntu bionic-updates/universe amd64 redis-tools amd64 5:4.0.9-1ubuntu0.1Rückgabe 404 Nicht gefunden
Andrew Sneck
91

Stattdessen redis-clikönnen Sie einfach verwenden nc!

nc -v --ssl redis.mydomain.com 6380

Dann senden Sie die Befehle.

Balázs Németh
quelle
11
Versuchen Sie nc -v redis.mydomain.com 6379(oder Ihren benutzerdefinierten Port)
James111
4
Dies ist die beste Antwort, da absolut keine Abhängigkeiten oder externen Tools erforderlich sind.
Pyrospade
1
Ist es möglich, dies mit einem Redis-Passwort zu verwenden?
Matt Bucci
1
Sie können auch verwenden, rlwrap nc -v redis.mydomain.com 6379wenn Sie haben, mit rlwrapdenen Sie Tastaturkürzel wie in einer Shell verwenden können (z. B. Zyklus / Suche vorherigen Befehl, nächstes Wort)
Prashanth Chandra
1
Ich kann keine --sslOption für finden nc. Meinten Sie ncat?
Haschisch
36

Von http://redis.io/topics/quickstart

wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make redis-cli
sudo cp src/redis-cli /usr/local/bin/

Mit Docker verwende ich normalerweise https://registry.hub.docker.com/_/redis/ . Wenn ich einem Bild Redis-Cli hinzufügen muss, verwende ich das folgende Snippet.

RUN cd /tmp &&\
    curl http://download.redis.io/redis-stable.tar.gz | tar xz &&\
    make -C redis-stable &&\
    cp redis-stable/src/redis-cli /usr/local/bin &&\
    rm -rf /tmp/redis-stable
Kevin Watson
quelle
29

So installieren Sie 3.0 , die neueste stabile Version :

$ git clone http://github.com/antirez/redis.git 
$ cd redis && git checkout 3.0 
$ make redis-cli 

Optional können Sie die kompilierte ausführbare Datei der Einfachheit halber in Ihren Ladepfad einfügen:

$ ln -s src/redis-cli /usr/local/bin/redis-cli
Agis
quelle
4
git clone http://github.com/antirez/redis.git && cd redis && git checkout 2.8.6 && make redis-cli && cp src/redis-cli /usr/local/bin- Das funktioniert bei mir.
Dhamu
versuchte dies zu bearbeiten. Aber hier ist eine Zusammenfassung, wie es jetzt geht ... gist.github.com/Artistan/d9288f8e12c4027096e66bd331d4e4fd
Artistan
15

Für centOS können Sie möglicherweise die folgenden Schritte ausführen

cd /tmp
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
cp src/redis-cli /usr/local/bin/
chmod 755 /usr/local/bin/redis-cli
Robert
quelle
6
Möglicherweise dummer Kommentar, aber vergessen Sie nicht, gcc sudo yum install gccvor dem Ausführen zu installieren make!
Bryan Cote-Chang
Funktioniert auch unter Linux.
Barath
14

In meinem Fall muss ich einige weitere Schritte ausführen, um es auf RedHat oder Centos aufzubauen .

# get system libraries
sudo yum install -y gcc wget

# get stable version and untar it
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable

# build dependencies too!
cd deps
make hiredis jemalloc linenoise lua geohash-int
cd ..

# compile it
make

# make it globally accesible
sudo cp src/redis-cli /usr/bin/
Damoiser
quelle
7

Um die Antwort von @ Agis zu erweitern, können Sie die Redis-CLI auch durch Ausführen installieren

$ git clone -b v2.8.7 [email protected]:antirez/redis.git
$ make -C redis install redis-cli /usr/bin

Dadurch wird die Redis-CLI erstellt und die Binärdatei in / usr / bin geworfen. Für alle, die Docker verwenden , habe ich auch eine Docker- Datei erstellt, die dies für Sie erledigt: https://github.com/bacongobbler/dockerfiles/blob/master/redis-cli/Dockerfile

Bacongobbler
quelle
Vielen Dank für Ihre Antwort. Ich werde es versuchen, sobald ich kann
Oleg
Für mich hat dieser Befehl die gesamten Redis zusammengestellt, nicht nurredis-cli
Oleg
5

Mit Docker können Sie diesen Befehl ausführen, um die Redis-CLI abzurufen:

docker run -it redis redis-cli -h redis.mycompany.org -p 6379

Wo redisbefindet sich das redisDocker-Image von Docker Hub,
redis-cliist in diesem Image vorinstalliert, und danach sind alle Parameter für redis-cli:
-hIst der Hostname, zu dem eine Verbindung hergestellt werden soll,
-panscheinend der Port, zu dem eine Verbindung hergestellt werden soll.

Ondra Žižka
quelle
5

Sie können stattdessen auch Telnet verwenden

telnet redis-host 6379

Geben Sie dann den Befehl ein, beispielsweise zur Überwachung

monitor
xelber
quelle
0

Sie können es von Ihrer Redis-Maschine scp, wenn Sie eine haben, es ist nur eine einzige Binärdatei. Oder kopieren Sie mit nc, wenn das private Netzwerk (diese Methode ist unsicher):

redisclient: nc -l 8888 > /usr/local/bin/redis-cli
redisserver: cat /usr/local/bin/redis-cli | nc redisclient 8888
Zaur
quelle
0

Ich habe eine einfache Pure-Go-Lösung entwickelt, die sich in der Entwicklung befindet.

redis-cli: https://github.com/holys/redis-cli

Einmal bauen und überall laufen. Voll tragbar.

Bitte probieren Sie es einfach aus.

Heilige
quelle
0

Es gibt viele Möglichkeiten zur Installation radis-cli. Es kommt mit redis-toolsund redis-server. Wenn Sie eines davon installieren, wird es auch installiert redis-cli. Es werden aber auch andere Tools installiert. Da hast du redis-serverirgendwo installiert und nur interessiert zu installieren redis-cli. Um die Installation nur redis-cliohne andere unnötige Tools zu installieren, befolgen Sie den folgenden Befehl

cd /tmp
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
cp src/redis-cli /usr/local/bin/
chmod 755 /usr/local/bin/redis-cli
Shalauddin Ahamad Shuza
quelle
1
Immer diese Fehlermeldung auf Kopierbefehl, jede Vorstellung davon , wie es zu beheben cp src / redis-cli / usr / local / bin / cp: can not stat 'src / redis-cli': Keine solche Datei oder das Verzeichnis
Vipresh