
Running Redis on Windows: Setting Up with WSL
Introduction
As a developer working on a Spring Boot project for a school management system, I quickly realized the need for a fast and efficient caching solution to optimize our application’s performance. Redis, with its reputation as a powerful in-memory data store, was the ideal choice. However, there was a small hitch—I was developing on a Windows machine, and Redis is primarily designed to run on Linux. I needed a way to run Redis on my local development environment without switching to a Linux machine or setting up a virtual machine.
That’s when I discovered the Windows Subsystem for Linux (WSL). WSL allows you to run a Linux environment directly on Windows, enabling you to install and use Linux-based tools, such as Redis, without needing separate hardware or a VM. It seemed like the perfect solution to bridge the gap between my Windows setup and the Linux-native Redis.
Configuring Windows Subsystem for Linux (WSL) for Spring Boot
Here’s how I set up Redis on my Windows machine using WSL:
1. Enable WSL: The first step was to enable WSL on my Windows machine. This was straightforward. I opened PowerShell with administrative privileges and ran the command:
1wsl --install
This command installs WSL and sets up Ubuntu as the default Linux distribution, providing a fully functional Linux environment right inside Windows.
2. Install Ubuntu: Once WSL was installed, the next step was to download Ubuntu from the Microsoft Store. This installation gave me access to the Ubuntu terminal, where I could run Linux commands and install software packages just like on any other Linux system.
3. Install Redis on Ubuntu (WSL): With Ubuntu up and running in WSL, I proceeded to install Redis. This was a breeze, thanks to the simplicity of Linux package management. I opened the Ubuntu terminal and ran the following commands:
1sudo apt update2sudo apt install redis-server
4. Start Redis: After installation, I started the Redis server using:
1sudo service redis-server start
5. Connect Redis to Spring Boot: With Redis running on WSL, I could connect it to my Spring Boot application just like I would on a native Linux machine. The application.properties configuration remained the same, pointing to the Redis instance running on localhost.
1spring.redis.host=localhost2spring.redis.port=6379
Final Thoughts
Setting up Redis on Windows using WSL is a great way to take advantage of Linux-based tools and environments without leaving the comfort of your Windows machine. This approach not only allows you to run Redis natively but also opens up a world of possibilities for using other Linux-based tools and services.
While the initial setup might seem daunting if you’re not familiar with WSL, once you have it configured, running Redis becomes straightforward and efficient. The performance benefits of Redis combined with the flexibility of WSL make this a powerful combination for development and testing purposes on a Windows machine.
I hope this helped you understand how to set up Redis on Windows using WSL. Whether you’re using Redis for caching, session management, or other purposes, having it run smoothly on your development machine can significantly improve your workflow. If you have any questions or run into issues, feel free to reach out—I’m here to help! Happy coding!
References
You can checkout the following documentation by microsoft and redis for a more indepth details:
https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-windows/https://learn.microsoft.com/en-us/windows/wsl/install
The Right Way to Migrate from MySQL to AWS Aurora DSQL
Migrating a production database is one of the highest-risk changes you can make to an application. Moving from MySQL to AWS Aurora DSQL raises the stakes further...
Read More
From Memory Nightmare to Serverless: Bundling Files into a ZIP with AWS Lambda
A straightforward 'download all these files as one ZIP' request that worked perfectly on my laptop and... fell over the first day it met real production load. Here's the debugging story, the scaling options I ruled out, and why AWS Lambda was the right answer.
Read More
Clean Code vs. Overengineering: Where Should Developers Draw the Line?
Clean code reduces unnecessary complexity; overengineering invents it. A practical guide to using context, evidence, and the cost of change to know when to stop adding abstractions...
Read More
Kafka vs RabbitMQ vs AWS EventBridge: Choosing the Right Architecture Based on Business Requirements
Compare Kafka, RabbitMQ, and AWS EventBridge based on scalability, routing, event streaming, replay, infrastructure, and business requirements to choose the right architecture...
Read More
AI Integrations for QA Engineers
Learn how QA engineers can connect AI with Jira, GitHub, Slack, Notion and other tools to improve testing, bug tracking, reporting and QA productivity...
Read More
The Ultimate Guide to Amazon SES Setup with GoDaddy DNS
Learn how to set up Amazon SES with GoDaddy DNS. Complete step-by-step guide covering Easy DKIM, SPF, DMARC, custom MAIL FROM, and exiting the SES Sandbox...
Read More
AWS DevOps Agent Setup Guide with EC2
Learn how to set up AWS DevOps Agent with EC2, CloudWatch, IAM, and Agent Spaces for AI-assisted monitoring, incident investigation, and root-cause analysis...
Read More
Multi-Tenancy Patterns in DynamoDB: Silo, Pool, and Bridge Models
If you've already made the jump from a relational database to DynamoDB see our guide on moving relational data from SQL to DynamoDB...
Read More
We stopped leaving the IDE to design. Here’s our Cursor → Figma flow
Cursor drafts fast, catches gaps early, and still clips fields and breaks layouts. Here's the real pros-and-cons breakdown of our workflow...
Read MoreReady to Work With Us?
Most engagements start with a 20-minute conversation. No pitch, no pressure - just an honest discussion about what you're building and whether we're the right fit.