Conectarse a Redis

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *