Mac(os x): Is there a way to install ONLY redis-cli?
I tried to run brew install redis-cli
and googled, but found nothing. Any ideas?
Solution 1:
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:
brew tap ringohub/redis-cli
brew update && brew doctor
brew install redis-cli
Solution 3:
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
+ [email protected]
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:
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