Redis is a very popular data store used across all kinds of web apps it’s supported natively by Mac and Linux operating systems. Heck, you can even use Docker to run Redis.
- Redis Connection Manager
- Redis Connection Refused
- Redis Connection Refused Mac Catalina
- Redis Connection Refused Mac Os
The purpose of this guide is to setup Redis so we can use in our Python applications including Django, Flask, Fastapi, Celery, and pure python apps.
Are you a windows user? Check out this redis install guide
Do you need to use Redis on Docker? The windows install guide shows you how.
Connection refused. AoF of Redis persistence (Append only File) and its summary; The difference between the RDB and aof persistence for Redis go The Redis Sort command; Docker+redis Persistent Configuration; Redis List-Rpoplpush; Redis solution (DENIED Redis is running in protected mode because Prote). As per redis-cli standard redis client, It is giving this error: Could not connect to Redis at 192.168.1: Connection timed out. – user14610638 Dec 30 '20 at 18:16 add a comment 0. Accept connections on the specified port, default is 6379. If port 0 is specified Redis will not listen on a TCP socket. Port 6379 If you want you can bind a single interface, if the bind option is not.
3.1. Install Redis on macOS¶
3.1.1. Install Homebrew¶
3.1.2. Install redis¶
Every once and a while run brewupgraderedis
3.1.3. Start / Stop Redis¶
Starting redis this way turns redis into a background service. You can easily stop redis with:
3.1.4. Verify redis is running:¶
What result do you see?
PONG
– great, redis is working and ready.CouldnotconnecttoRedisat127.0.0.1:6379:Connectionrefused
– this means that: (1) you did not install redis correctly or (2) redis is not running.
3.2. Install Redis on Linux (using Ubuntu)¶
Below was adapted from the production-ready guide in our series Hello Linux
3.2.1. Update System¶
3.2.2. Install redis-server
¶
3.2.3. Update configuration¶
Update supervised
to the following:
Save and exit nano.
Restart running service:
3.2.4. Verify installation:¶
What result do you see?
PONG
– great, redis is working and ready.CouldnotconnecttoRedisat127.0.0.1:6379:Connectionrefused
– this means that: (1) you did not install redis correctly, (2) redis is not running, or (3) the system service did not start (check withsudosystemctlstatusredis
)
3.3. Install on Windows 10 using Docker¶
Naturally, you need to install docker desktop on your windows 10. There’s a huge caveat that might push you towards using Memurai:
Docker requires you to have Windows 10 professional
Windows 10 professional allows for the OS virtualization that is just not provided in Windows 10 home.
Are you new to docker? Check out this basic intro
3.3.1. Verify Docker¶
Open PowerShell and run:
3.3.2. Create a project directory¶
3.3.3. Update (or create) a Dockerfile
¶
You don’t have to build the redis image yourself but I prefer to so I can make changes easily and it’s already prepared for it.
3.3.4. Build our docker image:¶
Personally, I like adding commands like dockerbuild-t'cfe-redis'.
to a build.ps1
file so I can just call ./build.ps1
if I ever want to build it again in the future.
3.3.5. Run our docker image:¶
A couple things to note:
-it--rm
is so this docker container only runs when we want it to and the container will be removed after we’re done running it.
-p6379:6379
is exposing the port 6379
on our local system AND in our docker container.
cfe-redis
is merely the tag name of the image we created in the build process.
Just like with build.ps1
, make a run.ps1
file containing dockerrun-it--rm-p6379:6379'cfe-redis'
as a shortcut to running this container.
3.3.6. Verify Docker connection¶
On Linux and Mac, you can just run redis-cliping
but, since we’re using docker, we don’t have the redis-cli
command available on our system.
We need another way to test. Since I use redis
in my Python projects, I’ll create a simple python program to ensure our non-container items can connect to redis
.
I already have Python 3.8 installed. If you don’t, check out this guide.
3.3.6.1. Create virtual environment¶
You can use pipenv
as well. I’m just keeping things simple by using the built-in virtual environment manager
3.3.6.2. Activate virtual environment¶
Redis Connection Manager
3.3.6.3. Run pipinstallredis
¶
This command does not install the redis server; it just installs a redis connector that we can use in python.
3.3.6.4. Create ping_redis.py
¶
Notice the port=6379
I used? This is the default redis port and it matches to what I exposed above.
3.3.6.5. Run ping_redis.py
¶
What result do you have?
Trueb'bar'
– this means redis is running correctlyNoconnectioncouldbemadebecausethetargetmachineactivelyrefusedit.
– this means your version of redis is either (1) not running or (2) running incorrectly or (3) you got the port number wrong.
3.3.7. Future running¶
Now, whenever you need to use redis
in your projects. Just run:
Anywhere on your system.
3.4. Install Redis on Windows using Memurai.com¶
I haven’t used memurai much myself but it seems promising. Let’s see
3.4.2. Run downloaded installer¶
3.4.3. Agree to all defaults except port.¶
Redis Connection Refused
For the port
, I’ll use 6380
.
I’m leaving 6379
open. It’s the default redis port and I’m not 100% convinced I’ll use memurai
in the future. I’m positive I’ll use Docker and so I’ll leave 6379
open for docker versions of redis like above.
3.4.4. Verify in Python – Create a virtual environment.¶
memurai
should be running by default after you installed it so we need to verify.
Assuming you did not do the docker portion above, let’s create a new virtual environment to test redis is running via memurai. Open up PowerShell
and run:
I already have Python 3.8 installed. If you don’t, check out this guide.
3.4.4.1. Activate virtual environment¶
3.4.4.2. Run pipinstallredis
¶
This command does not install the redis server; it just installs a redis connector that we can use in python.
3.4.4.3. Create ping_redis.py
¶
Redis Connection Refused Mac Catalina
Notice the port=6380
I used? This is the redis port I used during the memurai
installation.
3.4.4.4. Run ping_redis.py
¶
Redis Connection Refused Mac Os
What result do you have?
Trueb'bar'
– this means redis is running correctlyNoconnectioncouldbemadebecausethetargetmachineactivelyrefusedit.
– this means your version of redis is either (1) not running or (2) running incorrectly or (3) you got the port number wrong.
3.4.4.5. Future running¶
If you installed the defaults, memurai should start with your system startup just remember which port (6380
) you used for the memurai redis.