이 수업에서는 WinForms 환경에서 Redis를 조작하는 예시를 보여줍니다. 다른 프로젝트도 원리는 동일하며 WinForms는 데모용으로만 사용했습니다.
Redis를 설치하면 독립적인 서비스 프로세스로 실행됩니다. C# WinForms에서 사용하려면 일반 데이터베이스에 연결하는 것처럼 연결 절차를 거쳐야 합니다.
아래는 app.config에 작성하는 연결 문자열 설정입니다
1. App.config 설정
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<!-- Redis 연결 문자열 -->
<add name="RedisConnectionString" connectionString="127.0.0.1:6379"/>
<!-- 축약 표기 connectionString="localhost" 기본 포트 6379 -->
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>Code language: HTML, XML (xml)
연결 문자열 설명
localhost/127.0.0.1:로컬 Redis 서비스- 기본 포트 6379;다른 포트 사용 시:
127.0.0.1:6380 - Redis에 비밀번호가 설정된 경우:
127.0.0.1:6379,password=비밀번호
2. Form1.cs 핵심 코드
필요한 NuGet 패키지
StackExchange.Redis
가져와야 하는 네임스페이스
using StackExchange.Redis;
using System.Configuration;Code language: C# (cs)
public partial class Form1 : Form
{
// Redis 데이터베이스 작업 객체
private IDatabase db;
// 설정 파일에서 연결 문자열 읽기
private string ConnectionString = ConfigurationManager.ConnectionStrings["RedisConnectionString"].ConnectionString;
// 다중화 연결(공식 권장 싱글턴, volatile로 스레드 안전 보장)
private volatile IConnectionMultiplexer connection;
public Form1()
{
InitializeComponent();
// 연결 생성
connection = ConnectionMultiplexer.Connect(ConnectionString);
// 기본 0번 데이터베이스 가져오기
db = connection.GetDatabase();
}
private void button1_Click(object sender, EventArgs e)
{
// Set 메서드: 캐시 저장(키, 값, 만료 초)
bool res = Set(this.textBox1.Text, this.textBox2.Text, 1000);
if (res)
{
MessageBox.Show("설정 성공");
}
else
{
MessageBox.Show("설정 실패");
}
}
/// <summary>
/// Redis 문자열 키‑값 저장(간단 래퍼)
/// </summary>
bool Set(string key, object data, int cacheTime)
{
if (string.IsNullOrEmpty(key)) return false;
// 만료 시간 지정
var expire = TimeSpan.FromSeconds(cacheTime);
return db.StringSet(key, data.ToString(), expire);
}
}Code language: C# (cs)
Redis 연결하기
Previous: WinForms로 Redis 예제 실습
Next: 값 쓰기