Linux - Installez redis-cli uniquement

195

J'ai un serveur Linux avec Redis installé et je veux me connecter via la ligne de commande depuis ma machine Linux locale.

Est-il possible d'installer redis-cliuniquement (sans redis-serveret autres outils)?

Si je copie simplement le redis-clifichier sur ma machine locale et que je l'exécute, j'ai l'erreur suivante:

./redis-cli: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by ./redis-cli)
Oleg
la source
2
Eh bien, 1. il n'est pas surprenant que la simple copie de l'exécutable ne fonctionne pas: vous avez très probablement des versions d'architecture et de bibliothèque différentes, qui ne peuvent pas fonctionner. 2. vous devriez consulter le système de gestion de logiciels fourni par votre distribution et voir quels reditpackages il fournit. Ensuite, l'installation de l'un de ceux-ci ne nécessitera qu'un seul clic. Vous ne devriez jamais faire une installation sauvage de choses dans un système Linux si vous pouvez utiliser la gestion logicielle à la place.
arkascha
@arkascha Merci pour votre conseil. Je suis assez nouveau sur Linux, donc cette information est très utile pour moi
Oleg
Vous voulez dire que vous êtes un développeur travaillant dans un environnement Linux, mais que vous n'avez jamais utilisé votre système de gestion de logiciels systèmes? Quelle distribution utilisez-vous?
arkascha
Vous pourriez également être intéressé par un package appelé 'hiredis' qui offre un client c minimaliste pour redis. Pas de client cli prêt à l'emploi.
arkascha
1
Et git clone [email protected]:antirez/redis.gitalors cd src && make redis-cli?
deltheil

Réponses:

368

Ubuntu (testé sur 14.04) a un package appelé redis-toolsqui contient redis-clientre autres outils. Pour l'installer, tapez:

sudo apt-get install redis-tools
Иван Бишевац
la source
20
quelque chose de similaire pour les centos?
Ariel Allon
@AlinPurcaru docker run --rm --network = host redis redis-cli info
yihuang
maintenant cela ne fonctionne pas http://security.ubuntu.com/ubuntu bionic-updates/universe amd64 redis-tools amd64 5:4.0.9-1ubuntu0.1renvoie 404 Not Found
Andrew Sneck
98

Au lieu de redis-clivous pouvez simplement utiliser nc!

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

Puis soumettez les commandes.

Balázs Németh
la source
12
Essayez nc -v redis.mydomain.com 6379(ou votre port personnalisé)
James111
4
C'est la meilleure réponse car elle ne nécessite absolument aucune dépendance ou outil externe.
pyrospade
1
est-il possible de l'utiliser avec un mot de passe redis?
Matt Bucci
2
Vous pouvez également utiliser rlwrap nc -v redis.mydomain.com 6379si vous avez rlwrapqui vous permet d'utiliser des raccourcis clavier comme vous le feriez dans un shell (par exemple, faire défiler / rechercher la commande précédente, le mot suivant)
Prashanth Chandra
1
Je ne trouve pas d' --ssloption pour nc. Voulez-vous dire ncat?
hashlash
38

Depuis 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/

Avec Docker, j'utilise normalement https://registry.hub.docker.com/_/redis/ . Si j'ai besoin d'ajouter redis-cli à une image, j'utilise l'extrait de code suivant.

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
la source
30

Pour installer la version 3.0 qui est la dernière version stable :

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

En option, vous pouvez placer l'exécutable compilé dans votre chemin de chargement pour plus de commodité:

$ ln -s src/redis-cli /usr/local/bin/redis-cli
Agis
la source
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- cela fonctionne pour moi.
dhamu le
essayé de modifier ceci. mais voici l'essentiel sur la façon de le faire maintenant ... gist.github.com/Artistan/d9288f8e12c4027096e66bd331d4e4fd
Artistan
15

Pour centOS, vous pouvez peut-être essayer les étapes suivantes

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
la source
6
Commentaire potentiellement stupide, mais n'oubliez pas d'installer gcc sudo yum install gccavant de démarrer make!
Bryan Cote-Chang
Fonctionne aussi sur Linux.
barath
15

Dans mon cas, je dois exécuter quelques étapes supplémentaires pour le construire RedHat ou Centos .

# 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
la source
7

Pour développer la réponse de @ Agis, vous pouvez également installer la CLI Redis en exécutant

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

Cela construira la CLI Redis et lancera le binaire dans / usr / bin. À tous ceux qui utilisent Docker , j'ai également créé un Dockerfile qui le fait pour vous: https://github.com/bacongobbler/dockerfiles/blob/master/redis-cli/Dockerfile

bacongobbler
la source
Merci pour votre réponse. Je vais l'essayer dès que je peux
Oleg
Pour moi, cette commande a compilé l'ensemble de Redis, pas seulementredis-cli
Oleg
6

Vous pouvez également utiliser telnet à la place

telnet redis-host 6379

Et puis émettez la commande, par exemple pour la surveillance

monitor
Xelber
la source
5

À l'aide de Docker , vous pouvez exécuter cette commande pour obtenir Redis CLI:

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

redisest l' redisimage docker de Docker Hub,
redis-cliest préinstallée dans cette image, et après cela, il y a des paramètres à redis-cli:
-hest le nom d'hôte auquel se connecter,
-pest apparemment le port auquel se connecter .

Ondra Žižka
la source
0

vous pouvez le supprimer de votre machine redis si vous en avez un, son seul binaire. Ou copier avec nc si réseau privé (cette méthode n'est pas sécurisée):

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

J'ai fait une solution pure-go simple, qui est en cours de développement.

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

Construisez une fois et exécutez partout. Entièrement portable.

N'hésitez pas à essayer.

holys
la source
0

Il existe de nombreuses façons d'installer radis-cli. Il vient avec redis-toolset redis-server. L'installation de l'un d'entre eux s'installera redis-cliégalement. Mais il installera également d'autres outils. Comme vous l'avez redis-serverinstallé quelque part et seulement intéressé à installer redis-cli. Pour installer installer uniquement redis-clisans autres outils inutiles, suivez la commande ci-dessous

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
la source
1
Obtenir cette erreur sur la commande de copie, toute idée de la façon de la corriger cp src / redis-cli / usr / local / bin / cp: impossible de statuer sur 'src / redis-cli': aucun fichier ou répertoire de ce type
Vipresh
0
# 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
make redis-cli

Si la construction échoue / la commande make échoue , alors:

La suppression de toutes les lignes avec _Atomic de src / server.h et src / networking.c devrait rendre la compilation complète.

# make it globally accesible
sudo cp src/redis-cli /usr/local/bin/
Masque blanc
la source