En esta lección practicamos operaciones sobre Redis desde WinForms. La lógica es similar en otros proyectos, WinForms solo sirve como entorno de demostración.
Después de instalar Redis, se ejecuta como un servicio independiente. Para usarlo desde C# WinForms debemos establecer una conexión, igual que con cualquier base de datos.
La cadena de conexión que se muestra a continuación se coloca dentro de app.config
1. Configuración en App.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<!-- Cadena de conexión Redis -->
<add name="RedisConnectionString" connectionString="127.0.0.1:6379"/>
<!-- Forma abreviada connectionString="localhost" puerto por defecto 6379 -->
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>Lenguaje del código: HTML, XML (xml)
Explicación de la cadena de conexión
localhost/127.0.0.1:Servicio Redis local- Puerto por defecto 6379;Para otro puerto:
127.0.0.1:6380 - Si Redis tiene contraseña:
127.0.0.1:6379,password=tucontraseña
2. Código principal Form1.cs
Paquete NuGet necesario
StackExchange.Redis
Espacios de nombres que debes importar
using StackExchange.Redis;
using System.Configuration;Lenguaje del código: C# (cs)
public partial class Form1 : Form
{
// Objeto para operar la base de datos Redis
private IDatabase db;
// Leer cadena de conexión desde el archivo de configuración
private string ConnectionString = ConfigurationManager.ConnectionStrings["RedisConnectionString"].ConnectionString;
// Conexión multiplexada (singleton recomendado oficialmente, volatile para seguridad de hilos)
private volatile IConnectionMultiplexer connection;
public Form1()
{
InitializeComponent();
// Establecer conexión
connection = ConnectionMultiplexer.Connect(ConnectionString);
// Obtener base de datos número 0 por defecto
db = connection.GetDatabase();
}
private void button1_Click(object sender, EventArgs e)
{
// Método Set: escribir caché (clave, valor, segundos de expiración)
bool res = Set(this.textBox1.Text, this.textBox2.Text, 1000);
if (res)
{
MessageBox.Show("Guardado correctamente");
}
else
{
MessageBox.Show("Error al guardar");
}
}
/// <summary>
/// Guardar par clave‑valor de texto en Redis (wrapper simple)
/// </summary>
bool Set(string key, object data, int cacheTime)
{
if (string.IsNullOrEmpty(key)) return false;
// Definir tiempo de expiración
var expire = TimeSpan.FromSeconds(cacheTime);
return db.StringSet(key, data.ToString(), expire);
}
}Lenguaje del código: C# (cs)
Conectarse a Redis
Previous: Ejemplo práctico de Redis con WinForms
Next: Escribir valor