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
| Method | Package Path | Service Unit | Best Fit |
|---|---|---|---|
| Valkey with Redis compatibility | Fedora Valkey packages: valkey and valkey-compat-redis | valkey.service; Redis command names point to Valkey binaries | Most Fedora users, especially local caches, queues, and applications that only need Redis protocol compatibility |
| Original Redis from Remi | Remi RPM repository with the redis:remi-8.6 module stream | redis.service | Applications 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 Source | Configuration File | Service Unit | Data and Logs |
|---|---|---|---|
| Fedora Valkey | /etc/valkey/valkey.conf | valkey.service | /var/lib/valkey and /var/log/valkey |
| Remi Redis | /etc/redis/redis.conf | redis.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/valkeyfirst 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/redisfirst 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.


Formatting tips for your comment
You can use basic HTML to format your comment. Useful tags currently allowed in published comments:
<code>command</code>command<strong>bold</strong><em>italic</em><blockquote>quote</blockquote>