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
Previous: Demonstração do Redis com WinForms
Next: Gravar valor