Cette leçon montre comment utiliser Redis depuis WinForms. Le fonctionnement est identique pour d’autres types de projets ; WinForms sert uniquement d’exemple de démonstration.
Une fois installé, Redis s’exécute comme un service indépendant. Pour l’utiliser en C# WinForms, vous devez vous y connecter, de la même manière qu’avec une base de données classique.
La chaîne de connexion ci‑dessous est placée dans le fichier app.config
1. Configuration App.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<!-- Chaîne de connexion Redis -->
<add name="RedisConnectionString" connectionString="127.0.0.1:6379"/>
<!-- Forme courte connectionString="localhost" port par défaut 6379 -->
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>Langage du code : HTML, XML (xml)
Explication de la chaîne de connexion
localhost/127.0.0.1:Service Redis local- Port par défaut 6379 ; pour un port différent :
127.0.0.1:6380 - Si Redis est protégé par un mot‑de‑passe :
127.0.0.1:6379,password=votremotdepasse
2. Code principal Form1.cs
Paquet NuGet requis
StackExchange.Redis
Espaces de noms à importer
using StackExchange.Redis;
using System.Configuration;Langage du code : C# (cs)
public partial class Form1 : Form
{
// Objet d'accès à la base Redis
private IDatabase db;
// Lecture de la chaîne de connexion depuis le fichier de configuration
private string ConnectionString = ConfigurationManager.ConnectionStrings["RedisConnectionString"].ConnectionString;
// Connexion multiplexée (singleton recommandé par l'éditeur, volatile pour la sécurité des threads)
private volatile IConnectionMultiplexer connection;
public Form1()
{
InitializeComponent();
// Créer la connexion
connection = ConnectionMultiplexer.Connect(ConnectionString);
// Récupérer la base de données par défaut numéro 0
db = connection.GetDatabase();
}
private void button1_Click(object sender, EventArgs e)
{
// Méthode Set : écrire dans le cache (clé, valeur, expiration en secondes)
bool res = Set(this.textBox1.Text, this.textBox2.Text, 1000);
if (res)
{
MessageBox.Show("Opération réussie");
}
else
{
MessageBox.Show("Échec de l'opération");
}
}
/// <summary>
/// Enregistrement clé‑valeur chaîne Redis (wrapper simplifié)
/// </summary>
bool Set(string key, object data, int cacheTime)
{
if (string.IsNullOrEmpty(key)) return false;
// Définir le délai d'expiration
var expire = TimeSpan.FromSeconds(cacheTime);
return db.StringSet(key, data.ToString(), expire);
}
}Langage du code : C# (cs)
Se connecter à Redis
Previous: Démonstration Redis avec WinForms
Next: Écrire une valeur