Mac(os x): Is there a way to install ONLY redis-cli?

MacosRedis

Macos Problem Overview


I tried to run brew install redis-cli and googled, but found nothing. Any ideas?

Macos Solutions


Solution 1 - Macos

If you install redis with homebrew, you can see what's in the package like this:

brew install redis
brew ls redis

You will see that it only installs very few files indeed anyway:

/usr/local/Cellar/redis/3.2.3/bin/redis-benchmark
/usr/local/Cellar/redis/3.2.3/bin/redis-check-aof
/usr/local/Cellar/redis/3.2.3/bin/redis-check-rdb
/usr/local/Cellar/redis/3.2.3/bin/redis-cli
/usr/local/Cellar/redis/3.2.3/bin/redis-sentinel
/usr/local/Cellar/redis/3.2.3/bin/redis-server
/usr/local/Cellar/redis/3.2.3/homebrew.mxcl.redis.plist

Or, you can look directly in homebrew's Cellar, like this:

ls -lR /usr/local/Cellar/redis/3.2.3
total 40
-rw-r--r--  1 mark  admin  1487  2 Aug 10:00 COPYING
-rw-r--r--  1 mark  admin   376  9 Aug 10:34 INSTALL_RECEIPT.json
-rw-r--r--  1 mark  admin  6834  2 Aug 10:00 README.md
drwxr-xr-x  8 mark  admin   272  2 Aug 10:00 bin
-rw-r--r--  1 mark  admin   785  9 Aug 10:34 homebrew.mxcl.redis.plist

/usr/local/Cellar/redis/3.2.3/bin:
total 3440
-r-xr-xr-x  1 mark  admin   67668  2 Aug 10:00 redis-benchmark
-r-xr-xr-x  1 mark  admin   13936  2 Aug 10:00 redis-check-aof
-r-xr-xr-x  1 mark  admin  768704  2 Aug 10:00 redis-check-rdb
-r-xr-xr-x  1 mark  admin  129712  2 Aug 10:00 redis-cli
lrwxr-xr-x  1 mark  admin      12  2 Aug 10:00 redis-sentinel -> redis-server
-r-xr-xr-x  1 mark  admin  768704  2 Aug 10:00 redis-server

So, a lot of it is the licence, README and, of the 6 binaries, one is a symlink anyway. So it is not a heavy-weight installation with loads of services and config files anyway.


By the way, you could always pull and run the docker redis-cli without installing anything:

docker run -it redis redis-cli -h 192.168.0.8     # change to your Redis host's IP

If you actually just want to install the very least software you possibly can, you don't actually have to install anything! The Redis protocol is pretty simple, so you can build up a command in bash and send it yourself like this:

#!/bin/bash
################################################################################
# redis.sh
# Very, very simplistic Redis client in bash
# Mark Setchell
# Usage:
# redis.sh SET answer 42
#
# Ref: https://redis.io/topics/mass-insert
################################################################################
if [ $# -lt 2 ] ; then
    echo "Usage: redis.sh SET answer 42" >&2
    exit 1
fi

# Build protocol string
protocol="*$#\r\n"

for var in "$@" ; do
   protocol+="$" 
   protocol+="${#var}\r\n${var}\r\n"
done

# Send to Redis on default port on local host - but you can change it
printf "$protocol" > /dev/tcp/localhost/6379

Keywords: Redis, redis-cli, docker, minimal, pure bash.

Solution 2 - Macos

brew tap ringohub/redis-cli

brew update && brew doctor

brew install redis-cli

Solution 3 - Macos

This is not a proper installation of redis-cli, BUt I get my work done. I get it working using npm, I installed redis-cli a javascript library.

$ npm install -g redis-cli                  
    /Users/toni/.nvm/versions/node/v8.9.4/bin/rdcli -> /Users/toni/.nvm/versions/node/v8.9.4/lib/node_modules/redis-cli/bin/rdcli
    + redis-cli@1.3.0
    updated 1 package in 1.07s

then using the console:

$ rdcli                                 
127.0.0.1:6379> keys incident::sequence
1) incident::sequence
127.0.0.1:6379> GET incident::sequence
570
127.0.0.1:6379> config get dir
1) dir
2) /data
127.0.0.1:6379> exit

Solution 4 - Macos

I installed the redis-cli nodejs module:

yarn global add redis-cli

Then ran redis client:

rdcli

and redis client connected, redis REPL shell was activated

Solution 5 - Macos

You can use telnet [host [port]] to connect to redis:

telnet localhost 6379

Solution 6 - Macos

First you need to check if redis is installed or not. Command- telnet localhost 6379

if not then you can add it with brew or yarn.

for Yarn- yarn global add redis-cli for brew- brew install redis for NPM- $npm install -g redis-cli

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionkharandziukView Question on Stackoverflow
Solution 1 - MacosMark SetchellView Answer on Stackoverflow
Solution 2 - MacosAhmedView Answer on Stackoverflow
Solution 3 - MacosanquegiView Answer on Stackoverflow
Solution 4 - MacosBigMan73View Answer on Stackoverflow
Solution 5 - MacosguesswhoView Answer on Stackoverflow
Solution 6 - MacosYou MeView Answer on Stackoverflow