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)

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 git@github.com: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

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.


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

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

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

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/

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 git@github.com: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


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

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 .


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


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

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/
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.