Conectar‑se ao Redis

Nesta aula mostramos como trabalhar com Redis dentro de um projeto WinForms. A lógica é semelhante para outros tipos de projeto; o WinForms é usado apenas para demonstração.

Depois de instalado, o Redis roda como um serviço independente. Para utilizá‑lo no C# WinForms, é preciso estabelecer uma conexão, da mesma forma que fazemos com bancos de dados convencionais.

A string de conexão abaixo é configurada dentro do arquivo app.config

1. Configuração no App.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <!-- String de conexão do Redis -->
    <add name="RedisConnectionString" connectionString="127.0.0.1:6379"/>
    <!-- Forma abreviada connectionString="localhost" usa porta padrão 6379 -->
  </connectionStrings>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
</configuration>Code language: HTML, XML (xml)

Explicação da string de conexão

  • localhost / 127.0.0.1:Serviço Redis local
  • Porta padrão 6379;Para porta customizada:127.0.0.1:6380
  • Se o Redis tiver senha:127.0.0.1:6379,password=suasenha

2. Código‑chave em Form1.cs

Pacote NuGet necessário

StackExchange.Redis

Namespaces que precisam ser importados

using StackExchange.Redis;
using System.Configuration;Code language: C# (cs)
public partial class Form1 : Form
{
    // Objeto de operação com banco de dados Redis
    private IDatabase db;
    // Ler string de conexão do arquivo de configuração
    private string ConnectionString = ConfigurationManager.ConnectionStrings["RedisConnectionString"].ConnectionString;
    // Conexão multiplexada (singleton recomendado oficialmente, volatile garante segurança de thread)
    private volatile IConnectionMultiplexer connection;

    public Form1()
    {
        InitializeComponent();
        // Criar conexão
        connection = ConnectionMultiplexer.Connect(ConnectionString);
        // Obter banco de dados padrão número 0
        db = connection.GetDatabase();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        // Método Set: gravar cache (chave, valor, tempo de expiração em segundos)
        bool res = Set(this.textBox1.Text, this.textBox2.Text, 1000);
        if (res)
        {
            MessageBox.Show("Configuração realizada com sucesso");
        }
        else
        {
            MessageBox.Show("Falha na configuração");
        }
    }

    /// <summary>
    /// Grava par chave‑valor de string no Redis (wrapper simplificado)
    /// </summary>
    bool Set(string key, object data, int cacheTime)
    {
        if (string.IsNullOrEmpty(key)) return false;
        // Definir tempo de expiração
        var expire = TimeSpan.FromSeconds(cacheTime);
        return db.StringSet(key, data.ToString(), expire);
    }
}Code language: C# (cs)

Conectar‑se ao Redis

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *