How to Install Redis on Fedora 44

Install Redis or Valkey on Fedora 44 Linux with DNF or Remi RPM. Includes service setup, configuration, firewall rules, and removal.

Last updatedAuthorJoshua JamesRead time7 minGuide typeFedora

Fast cache reads only help when Fedora installs the server package your application expects. To install Redis on Fedora today, first decide whether Redis-compatible Valkey is enough or whether your stack needs packages from the original Redis project.

Fedora replaced Redis with Valkey starting in Fedora 41 after Redis moved to a non-FOSS license model. Fedora’s default DNF path now provides Valkey plus Redis-compatible command names, while the Remi RPM repository provides original Redis module streams for applications that check Redis branding, package names, or exact server versions.

Install Redis on Fedora

On current Fedora releases, sudo dnf install redis resolves to Valkey compatibility packages from Fedora’s repositories. Use explicit package names so the installed service, configuration path, and removal process stay clear.

Choose Valkey or Redis on Fedora

MethodPackage PathService UnitBest Fit
Valkey with Redis compatibilityFedora Valkey packages: valkey and valkey-compat-redisvalkey.service; Redis command names point to Valkey binariesMost Fedora users, especially local caches, queues, and applications that only need Redis protocol compatibility
Original Redis from RemiRemi RPM repository with the redis:remi-8.6 module streamredis.serviceApplications or deployment policies that require original Redis packages instead of Valkey

Choose one method per host. Valkey and Remi Redis both provide Redis-compatible server behavior, but they use different packages, service accounts, configuration directories, and systemd units.

Update Fedora Packages

Refresh DNF metadata and apply pending updates before installing the cache server:

sudo dnf upgrade --refresh

This lowers the chance of dependency conflicts, especially on systems that have not been updated since a Fedora point release or major package transition.

Install Valkey with Redis Compatibility

Install Valkey and the Redis compatibility package from Fedora’s default repositories:

sudo dnf install valkey valkey-compat-redis

DNF may also install valkey-rdma as a weak dependency. The compatibility package provides familiar command names such as redis-cli and redis-server, but the managed service remains valkey.service. Fedora resolves dnf install redis-cli to the same compatibility package, so installing valkey-compat-redis directly makes the package ownership clearer.

Confirm both packages are installed:

rpm -q valkey valkey-compat-redis

Example Fedora output:

valkey-9.0.3-2.fc44.x86_64
valkey-compat-redis-9.0.3-2.fc44.noarch

Then confirm that both Valkey and Redis command names are available:

command -v valkey-server redis-server
/usr/bin/valkey-server
/usr/bin/redis-server

Install Original Redis from Remi

Use Remi only when your application requires original Redis packages. Remi is a third-party repository, so keep its repository file enabled only when you want Redis and other Remi packages to update through DNF.

Remi Redis conflicts with Fedora Valkey packages. Remove Valkey first or use a separate host if you need to compare both implementations.

Add the Remi RPM Repository

Install the Remi release package for your Fedora version. For a fuller repository overview, see the separate guide to install the Remi RPM repository on Fedora.

sudo dnf install https://rpms.remirepo.net/fedora/remi-release-$(rpm -E %fedora).rpm

Check that the Remi repositories are enabled:

dnf repo list --enabled | grep -i remi
remi                  Remi's RPM repository - Fedora 44 - x86_64
remi-modular          Remi's Modular repository - Fedora 44 - x86_64

List Redis Module Streams

List the Redis streams Remi currently exposes through Fedora modular metadata:

dnf module list 'redis:remi*'

Current Fedora output includes these streams:

Name  Stream   Profiles   Summary                            
redis remi-8.0 common [d] Redis persistent key-value database
redis remi-8.2 common [d] Redis persistent key-value database
redis remi-8.4 common [d] Redis persistent key-value database
redis remi-8.6 common [d] Redis persistent key-value database

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Select the newest stream unless your application documents a specific Redis branch requirement.

Enable a Redis Stream and Install Redis

Enable the Redis 8.6 stream from Remi:

sudo dnf module enable redis:remi-8.6

Install Redis from the enabled stream:

sudo dnf install redis

Remi may also install Redis module packages such as RedisBloom, RedisJSON, or RedisTimeSeries as weak dependencies.

Verify Remi Redis

Check the package and server version:

rpm -q redis
redis-server --version
redis-8.6.3-1.module_redis.8.6.fc44.remi.x86_64
Redis server v=8.6.3 sha=00000000:0 malloc=jemalloc-5.3.0 bits=64 build=5d1ead486b651156

Start and Verify Redis on Fedora

Start the systemd unit that matches your chosen package source. Valkey compatibility provides Redis command names, but service management should use the canonical Valkey unit.

Start the Correct Service

For Fedora Valkey, enable and start valkey.service:

sudo systemctl enable --now valkey

For Remi Redis, enable and start redis.service:

sudo systemctl enable --now redis

After installing valkey-compat-redis, redis.service exists as an alias to valkey.service. Use valkey in service commands anyway, because the alias is not present until the compatibility package is installed and some systemd operations report alias-specific errors.

Check Service and Port 6379

Check that the service is active. Replace valkey with redis if you installed Redis from Remi.

systemctl is-active valkey
active

Then confirm the local listener on port 6379:

ss -ltn | grep ':6379'
LISTEN 0      511        127.0.0.1:6379      0.0.0.0:*
LISTEN 0      511            [::1]:6379         [::]:*

Test the Command-Line Client

Test the Redis-compatible client:

redis-cli ping
PONG

If you installed only the base valkey package without Redis compatibility, use valkey-cli ping instead.

Configure Valkey or Redis on Fedora

Valkey and Redis use compatible configuration directives, but Fedora and Remi place their files under different paths.

Package SourceConfiguration FileService UnitData and Logs
Fedora Valkey/etc/valkey/valkey.confvalkey.service/var/lib/valkey and /var/log/valkey
Remi Redis/etc/redis/redis.confredis.service/var/lib/redis and /var/log/redis

Edit the correct file for your package source, then restart the matching service after changing runtime settings.

Set Memory Limits for Cache Workloads

Limit memory use and choose an eviction policy before using the server as a cache on shared systems:

maxmemory 500mb
maxmemory-policy allkeys-lru

allkeys-lru lets the server evict older keys when it reaches the memory limit. Persistent queues, job state, and application locks usually need a different policy. If your application warns that the eviction policy should be noeviction, use that policy instead of a cache-oriented eviction rule.

maxmemory-policy noeviction

Keep Redis Bound to Trusted Addresses

Fedora and Remi keep the service bound to localhost by default, usually with bind 127.0.0.1 -::1 and protected-mode yes. Add only trusted addresses when remote clients need access.

bind 127.0.0.1 -::1 192.168.1.50

Do not bind Redis or Valkey to every interface until authentication, firewall source limits, and application network boundaries are already in place. Port 6379 should not be exposed to the public internet.

Add Password Authentication

Add a strong password directive when clients connect across a network or when local users should not have unauthenticated access:

requirepass YourStrongPasswordHere

Use an interactive prompt rather than placing the password directly in your shell history:

redis-cli --askpass ping
PONG

If the service is reachable from other hosts, pair password authentication with firewall source limits. For repeated unwanted connection attempts, Fail2ban with Firewalld on Fedora can help protect adjacent services, but Redis itself should still remain on a trusted network.

Enable Data Persistence

Redis-style servers can write snapshots, append-only logs, or both. A cache can often tolerate less persistence, while queues and application state need stricter durability.

save 900 1
save 300 10
save 60 10000
appendonly yes

Snapshot rules create RDB files after the configured write thresholds. appendonly yes adds AOF persistence, which improves recovery coverage but increases disk writes.

Restart After Configuration Changes

Restart Fedora Valkey after editing /etc/valkey/valkey.conf:

sudo systemctl restart valkey
systemctl is-active valkey
active

Restart Remi Redis after editing /etc/redis/redis.conf:

sudo systemctl restart redis
systemctl is-active redis

Open the Redis Port in Firewalld on Fedora

Skip firewall changes when Redis or Valkey is used only by local applications. If a remote application server needs access, restrict port 6379 to that host or subnet instead of opening it broadly. The separate Firewalld on Fedora guide covers general zone management.

Create a dedicated zone for one allowed client address. Replace 192.168.1.100 with the client IP allowed to connect. If the zone already exists from a previous attempt, continue with the source and port commands.

sudo firewall-cmd --permanent --new-zone=redis
sudo firewall-cmd --permanent --zone=redis --add-source=192.168.1.100
sudo firewall-cmd --permanent --zone=redis --add-port=6379/tcp

Reload Firewalld:

sudo firewall-cmd --reload
success

Review the zone before testing from the remote client. Relevant output includes the allowed source and Redis port:

sudo firewall-cmd --zone=redis --list-all
redis (active)
  sources: 192.168.1.100
  ports: 6379/tcp

From the allowed remote host, test the connection with authentication if you configured a password:

redis-cli -h 192.168.1.50 --askpass ping

Troubleshoot Redis on Fedora

Most Fedora Redis issues come from mixing Valkey and Redis naming, using the wrong systemd unit, or enabling authentication without updating client commands.

redis-cli Command Not Found

If Fedora reports that redis-cli is missing, the base valkey package may be installed without the compatibility package.

bash: redis-cli: command not found

Add the compatibility package and test again:

sudo dnf install valkey-compat-redis
redis-cli ping

Connection Refused on Port 6379

This error means the client command exists, but no Redis-compatible service is listening on the target address and port. Fedora Valkey reports the project name in the error, while Remi Redis uses the same pattern with Redis instead.

Could not connect to Valkey at 127.0.0.1:6379: Connection refused

Check the service state and listener. Replace valkey with redis if you installed Redis from Remi.

systemctl is-active valkey
ss -ltn | grep ':6379'

Start the matching service and test the client again:

sudo systemctl enable --now valkey
redis-cli ping

redis.service Is Missing or Refuses the Alias

A fresh Valkey-only installation does not provide redis.service. Some systems also refuse operations on alias or linked unit names.

Failed to enable unit: Unit redis.service does not exist

List the available units:

systemctl list-unit-files 'valkey*' 'redis*'

Start Valkey with its canonical unit:

sudo systemctl enable --now valkey

If you installed original Redis from Remi, use the Redis unit instead:

sudo systemctl enable --now redis

NOAUTH Authentication Required

This message means the server is running, but the client did not authenticate.

NOAUTH Authentication required.

Connect with the interactive password prompt:

redis-cli --askpass ping

Service Fails After a Configuration Edit

Read the recent service journal for syntax errors, permission problems, or invalid directives. Use the service name that matches your installation.

sudo journalctl -u valkey -n 50 --no-pager
sudo journalctl -u redis -n 50 --no-pager

Update or Remove Valkey or Redis on Fedora

Both package paths update through DNF. Remi Redis continues receiving updates only while the Remi repository and selected Redis module stream remain enabled.

Update Valkey or Redis

sudo dnf upgrade --refresh

Restart Fedora Valkey after updates that replace the running server package:

sudo systemctl restart valkey

Restart Remi Redis when the Redis package updates:

sudo systemctl restart redis

Remove Valkey and Redis Compatibility

Stop the service and remove Fedora’s Valkey packages:

sudo systemctl disable --now valkey
sudo dnf remove valkey valkey-compat-redis

Verify the package state:

rpm -q valkey valkey-compat-redis || true
package valkey is not installed
package valkey-compat-redis is not installed

The next commands permanently delete Valkey datasets, logs, local configuration, and the dedicated service account. Back up /var/lib/valkey first if you need existing RDB or AOF data.

Remove leftover data, logs, configuration, and service identity when you no longer need them:

sudo rm -rf /etc/valkey /var/lib/valkey /var/log/valkey /run/valkey
if getent passwd valkey >/dev/null; then
  sudo userdel valkey
fi
if getent group valkey >/dev/null; then
  sudo groupdel valkey
fi

Remove Remi Redis

Stop Redis, remove the package, and reset the Redis module stream:

sudo systemctl disable --now redis
sudo dnf remove redis
sudo dnf module reset redis

If Redis was the only Remi package you needed, remove the repository package and refresh DNF’s cache:

sudo dnf remove remi-release
sudo dnf clean all

Verify that Redis and the Remi release package are removed:

rpm -q redis remi-release || true
dnf repo list --enabled | grep -i remi || echo remi-repos-removed
package redis is not installed
package remi-release is not installed
remi-repos-removed

The next commands permanently delete Redis datasets, logs, local configuration, and the dedicated service account. Back up /var/lib/redis first if you need existing RDB or AOF data.

Remove leftover Redis files and the service identity when the host no longer needs them:

sudo rm -rf /etc/redis /var/lib/redis /var/log/redis /run/redis
if getent passwd redis >/dev/null; then
  sudo userdel redis
fi
if getent group redis >/dev/null; then
  sudo groupdel redis
fi

Conclusion

Valkey or Redis is now running on Fedora with the package source, service unit, and cleanup path that match your deployment. Keep the service on localhost unless an application truly needs remote cache access, and pair remote access with authentication plus firewalld source limits. For a broader web stack, continue with Install Nginx on Fedora or Install PHP on Fedora.

Share this guide

Help another Linux user troubleshoot faster

Share this guide with someone troubleshooting Linux systems or saving it for later.

Follow LinuxCapable

Want more LinuxCapable guides in Google?

Add LinuxCapable as a preferred source so Google can show more of our fresh Linux tutorials in Top Stories and From your sources when relevant.

Add LinuxCapable as a preferred source on Google
Search LinuxCapable

Need another guide?

Search LinuxCapable for package installs, commands, troubleshooting, and follow-up guides related to what you just read.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffeeBuy me a coffee
Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags currently allowed in published comments:

You type Result
<code>command</code> command
<strong>bold</strong> bold
<em>italic</em> italic
<blockquote>quote</blockquote> quote block

Got a Question or Feedback?

We read and reply to every comment - let us know how we can help or improve this guide.

Verify before posting: