This is a Redis starter template for C#/ASP.NET using:
- .NET 10 SDK
- docker
- Optional
Copy and edit the .env file:
cp .env.example .envYour .env file should contain the connection string you copied from Redis Cloud.
Your .env.docker file will look similar to .env, but should use the appropriate docker internal URLs. Here is
an example:
REDIS_URL="redis://redis:6379"Next, spin up docker containers:
docker compose up -dYou should have a server running on http://localhost:<port> where the port is set in your .env file (default is 8080). You can test the following routes:
GET /api/todos- Gets all todosGET /api/todos/:id- Gets a todo by IDGET /api/todos/search?[name=<name>]&[status=<status>]- Search for todos by name and/or statusPOST /api/todos- Create a todo with{ "name": "Sample todo" }PATCH /api/todos/:id- Update todo by ID with{ "status": "todo|in progress|complete" }DELETE /api/todos/:id- Delete a todo by ID
Additional runtime configuration:
LOG_LEVEL- ASP.NET log level name such asInformation,Debug, orErrorLOG_STREAM_KEY- Redis stream name used for structured app/request logs (defaultlogs)
There are tests in the RedisStarterCSharp.Api.Tests project that can be run with the following command:
dotnet testThe tests setup and teardown their own todo data and index state. They expect a reachable Redis instance, using REDIS_URL when set and localhost:6379 otherwise.
To run the development server outside of docker, first restore the solution:
dotnet restorethen run:
dotnet run --project RedisStarterCSharp.ApiFormatting:
dotnet formatDependency management is centralized in Directory.Packages.props, and the SDK is pinned in global.json.
If you don't yet have a database setup in Redis Cloud get started here for free.
To connect to a Redis Cloud database, log into the console and find the following:
- The
public endpoint(looks likeredis-#####.c###.us-east-1-#.ec2.redns.redis-cloud.com:#####) - Your
username(defaultis the default username, otherwise find the one you setup) - Your
password(either setup through Data Access Control, or available in theSecuritysection of the database page.
Combine the above values into a connection string and put it in your .env and .env.docker accordingly. It should
look something like the following:
REDIS_URL="redis://default:<password>@redis-#####.c###.us-west-2-#.ec2.redns.redis-cloud.com:#####"Run the tests to verify that you are connected properly.
To learn more about Redis, take a look at the following resources:
- Redis Documentation - learn about Redis products, features, and commands.
- Learn Redis - read tutorials, quick starts, and how-to guides for Redis.
- Redis Demo Center - watch short, technical videos about Redis products and features.