.NET and Redis

Getting Started#

The .NET Community has built many client libraries to help handle requests to Redis Server. In this guide, we'll mostly be concerned with using the StackExchange.Redis client library. As the name implies the StackExchange client is developed by StackExchange for use on popular websites like StackOverflow.

Step 1. Install the Package#

There are a few ways to Install the Package:

Run the following in the directory of the csproj file you want to add the package too.

dotnet add package StackExchange.Redis

Step 2. Import the Required Namespace#

using StackExchange.Redis;

Step 3. Initialize the ConnectionMultiplexer#

The ConnectionMultiplexer is the main arbiter of the connection to Redis inside the CLR, your application should maintain a single instance of the ConnectionMultiplexer throughout its runtime. You can initialize the Multiplexer with either a connection string, or with a ConfigurationOptions object. A typical connection string is of the form: HOST_NAME:PORT_NUMBER,password=PASSWORD where HOST_NAME is the host name of your server (e.g. localhost), PORT_NUMBER is the port number Redis is listening on (e.g. 6379) and PASSWORD is your redis server's password (e.g. secret_password).

static readonly ConnectionMultiplexer _redis = ConnectionMultiplexer.Connect($"{HOST_NAME}:{PORT_NUMBER},password={PASSWORD}");

Step 4. Grab Database Connection#

Once we have a handle for the Multiplexer, we need get a connection to the database.

var db = _redis.GetDatabase();

Step 5. Use the connection#

Now that you've retreived the connection to the database, all that's left is to use it. Here are some simple operations:

db.Ping();

Redis Launchpad#

Redis Launchpad is like an “App Store” for Redis sample apps. You can easily find apps for your preferred frameworks and languages. Below are few of these apps. Click here to access the complete lists of apps

Rate Limiting App in .NET#

Launchpad

Leaderboard App in .NET#

Launchpad

API Caching .NET#

Launchpad

Basic Chat App .NET#

Launchpad

Additional Resources#