DEV Community

Cover image for brew redis on mac
Pragmatic Programmer
Pragmatic Programmer

Posted on

9 1

brew redis on mac

redis

brew redis on Mac

Redis is a robust in-memory datastore widely used as cache, pub/sub (message broker) for further reading..

Installing Redis on mac

There are many options to install Redis on mac you can Download the code and compile it or use a docker image. I prefer using Homebrew to install and manage Redis on mac. It is also easy to uninstall Redis using brew.

> brew install redis
Enter fullscreen mode Exit fullscreen mode

Starting Redis server as a foreground process

starts the server as a foreground process using "redis-server" command.
To exit use ctrl+c

 > redis-server

15594:C 25 May 2020 18:08:37.005 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
15594:C 25 May 2020 18:08:37.005 # Redis version=6.0.3, bits=64, commit=00000000, modified=0, pid=15594, just started
15594:C 25 May 2020 18:08:37.005 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
15594:M 25 May 2020 18:08:37.006 * Increased maximum number of open files to 10032 (it was originally set to 8192).
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 6.0.3 (00000000/0) 64 bit
  .-`` .-```
{% endraw %}
.
{% raw %}
  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 15594
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

15594:M 25 May 2020 18:08:37.007 # Server initialized
15594:M 25 May 2020 18:08:37.008 * Ready to accept connections
Enter fullscreen mode Exit fullscreen mode

Starting/Stopping the Redis server as a background service

Starting/Stopping Redis server can be done using brew services. By default, Redis starts on port 6379 as a background service.

List all brew services

> brew services list
Enter fullscreen mode Exit fullscreen mode

Start redis

> brew services start redis
Enter fullscreen mode Exit fullscreen mode

Stop redis

> brew services stop redis
Enter fullscreen mode Exit fullscreen mode

Restart redis

> brew services restart redis
Enter fullscreen mode Exit fullscreen mode

Check if Redis is up

command "redis-cli ping" should respond with a "PONG."

> redis-cli ping
PONG
Enter fullscreen mode Exit fullscreen mode

Configuring Redis

To configure Redis and change the default edit the /usr/local/etc/redis.conf file and restart the Redis server.
Check the configuration section for more to configure users check the ACL (Access Control List)

useful aliases add to ~/.zshrc or ~/.bash_profile

alias redis-start="brew services start redis"
alias redis-stop="brew services stop redis"
alias redis-restart="brew services restart redis"
alias redis-monitor="redis-cli monitor"
Enter fullscreen mode Exit fullscreen mode

Useful redis commands

# connect to a different redis server or port 
> redis-cli -h <address> -p <port>

# List users
> redis-cli ACL LIST

# Continous stat
> redis-cli --stat
------- data ------ --------------------- load -------------------- - child -
keys       mem      clients blocked requests            connections          
1          1.02M    1       0       0 (+0)              1           
1          1.02M    1       0       1 (+0)              1           
1          1.02M    1       0       2 (+1)              1           
1          1.02M    1       0       3 (+1)              1           
1          1.02M    1       0       4 (+1)              1           

# Monitor commandis is a super useful it stdouts all the command received by redis
> redis-cli monitor
OK
1590445706.871636 [0 127.0.0.1:52583] "ping"
1590445716.910679 [0 127.0.0.1:52642] "flushall"
1590445814.170701 [0 127.0.0.1:53107] "incr" "visitor"
1590445893.336228 [0 127.0.0.1:53483] "publish" "channel" "hi"
1590445914.672421 [0 127.0.0.1:53591] "subscribe" "channel1"
1590445925.539757 [0 127.0.0.1:53639] "publish" "channel" "hey"
Enter fullscreen mode Exit fullscreen mode

EOF

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (1)

Collapse
 
ajeetraina profile image
Ajeet Singh Raina

Do refer developer.redis.com/create/homebrew/ if you want to learn more about Redis and it's supported platform.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Engage with a sea of insights in this enlightening article, highly esteemed within the encouraging DEV Community. Programmers of every skill level are invited to participate and enrich our shared knowledge.

A simple "thank you" can uplift someone's spirits. Express your appreciation in the comments section!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found this useful? A brief thank you to the author can mean a lot.

Okay