DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Newsletter
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Databricks Lakebase: Give Your Agent a Branch, Not Your Production Database
  • Microservices Architecture in Production: 7 Engineering Decisions That Determine Success or Failure
  • Resilience Lost in the Stack: How Abstraction Layers Silently Mask Distributed Systems’ Topology Awareness
  • The Dual Write Problem: What Looks Safe in Code but Breaks in Production

Trending

  • How to Build Your Own AI SRE From Scratch
  • Testing Java and Spring Applications With Kotlin: Low-Risk to Adoption
  • Build a Voice Assistant With Gemini Live API
  • Stop Writing Database Migration Scripts: Declarative Schema Sync for Java

Draft This article hasn't been published, so readers can't see it.

In moderation This article is waiting for review, so readers can't see it yet.

Deleted This article has been deleted, so readers can't see it.

  1. DZone
  2. Data Engineering
  3. Databases
  4. Redis Production Checklist

Redis Production Checklist

If you are going into production with Redis, it is a good idea to check over a few things before you go live.

By 
Darren Perucci
·
Updated Jun. 14, 16 · Tutorial
Post on X (opens in a new tab) Share on LinkedIn (opens in a new tab)
6.6K Views

Join the DZone community Save articles, join the discussion, and download Refcards and Trend Reports with a free account.

Join for free Already a member? Log in

Are you going into production with Redis? Make sure you have done everything on this checklist!

Run the Redis Benchmark

One test you can run is the Redis benchmark. The benchmark will perform a stress test on your Redis installation to ensure everything will run smoothly with your current settings. An example of running the benchmark from the command line is shown below.

Image title

In this case, the test will run 100,000 requests from 50 different clients, which are all sending 10 commands at once.

Firewall the Redis Port

The Redis port should only be directly accessible to the specific computers that are being used to implement your Redis application. As a result, the Redis port should be restricted by a firewall to prevent outside (and potentially unwanted) access to the system.

Set an Authentication Password

Enabling the Redis authorization layer allows queries from unauthorized clients to be refused. To be authorized, the client must send and AUTH command with the correct password.

This can act as a redundant layer of security in case, for instance, the firewall fails. The authentication password can be set by a system administrator inside the redis.conf file.

Backup and Logging

Backups and logs are always good to have if something should go wrong. Redis provides two options, which can be used individually or both at the same time.

RDB (Redis Database File): With RDB enabled, you will have access to point-in-time snapshots of the dataset, which allows you to easily restore the dataset if needed. However, since snapshots are taken at intervals, you may lose some data between the last snapshot and the incident.

AOF (Append Only File): With AOF enabled, Redis will log all write operations. Because the data is written instantly, you can recover even the most recent data.

It is often recommended that both of these options are enabled so that you have both available when you need to recover data after an incident.

Disable Potentially Harmful Commands

Some commands could be harmful in the wrong hands, so disabling them in production may be a good idea. Some of these could include:

  • FLUSHALL: Removes all keys from all databases
  • FLUSHDB: Removes all keys from the current database
  • CONFIG: Allows runtime server configuration
  • SHUTDOWN: Shuts down Redis

To disable a command, simply rename it to an empty string.

Redis (company) Production (computer science) Database

Published at DZone with permission of Darren Perucci. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Databricks Lakebase: Give Your Agent a Branch, Not Your Production Database
  • Microservices Architecture in Production: 7 Engineering Decisions That Determine Success or Failure
  • Resilience Lost in the Stack: How Abstraction Layers Silently Mask Distributed Systems’ Topology Awareness
  • The Dual Write Problem: What Looks Safe in Code but Breaks in Production

Partner Resources

×

Comments

Loading comments

The comments didn't load

Please try again in a moment.

Likes

Loading

The next likes didn't load. Please try again.

The likes didn't load

Please try again in a moment.

See who liked this

Log in or join DZone for free to see who liked this article.

Log in Join for free
  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook