본문 바로가기
프로그래밍/데이터베이스

C# StackExchange로 Redis Strings 데이터 구조 사용하기

by bantomak 2024. 12. 2.
반응형

Redis 문자열 사용하기

Redis의 문자열은 가장 기본적이면서도 다양하게 활용할 수 있는 데이터 구조이다.

단순한 key-value 쌍부터 카운터, 비트 연산까지 다양한 용도로 사용이 가능하다.

C#에서 레디스 Strings 문자열 사용 예제 코드

public class RedisStringExample
{
    private readonly IDatabase _db;

    public RedisStringExample(IDatabase db)
    {
        _db = db;
    }

    public void SetSimpleKeyValue(string key, string value)
    {
        _db.StringSet(key, value);
    }

    public string GetValue(string key)
    {
        return _db.StringGet(key);
    }

    public long IncrementCounter(string key)
    {
        return _db.StringIncrement(key);
    }

    public bool SetWithExpiry(string key, string value, TimeSpan expiry)
    {
        return _db.StringSet(key, value, expiry);
    }
}

레디스 데이터 타입 Strings

  • SET key value : 주어진 키(key)에 문자열 값을 저장한다.
  • GET key : 주어진 키(key)에 대한 문자열을 반환한다.
  • DEL key [key...] : 하나 이상의 키(key)와 연결된 값을 삭제한다.
  • INCRBY key increment : 주어진 키(key)에 저장된 숫자 값을 주어진 increment만큼 증가시킨다.
  • DECRBY key decrement : 주어진 키(key)에 저장된 숫자 값을 주어진 decrement만큼 감소시킨다.
  • APPEND key value : 주어진 키에 저장된 문자열 끝에 추가 문자열 value를 붙인다.
  • STRLEN key : 주어진 키에 저장된 문자열의 길이를 반환한다.
  • SETNX key value 주어진 키가 존재하지 않을 때에만 문자열 값을 저장한다.
  • SETEX key seconds value : 주어진 키에 문자열 값을 저장하고 만료 시간(초)을 설정한다.
  • GETSET key value : 주어진 키에 저장된 이전 값을 가져오고 새로운 값을 설정한다.

SET, GET

set mykey "hello, wolrd"
OK

get mykey
"hello, world"

 

DEL

del mykey
(interger) 1

get mykey
(nil)

INCRBY, DECRBY

set mykey 10
OK

incrby mykey 5
(interger) 15

decrby mykey 7
(interger) 8

get mykey
"8"

APPEND, STRLEN

append mykey "hello"
(interger) 6

get mykey
"8hello"

strlen mykey
(interger) 6

SETNX, GETSET

// 위에서 이미 생성한 key라서 0 출력
setnx mykey 11
(interger) 0

get mykey
"8hello"

setnx mykey-test 11
(interger) 1

get meykey-test
"11"

// 기존 키를 반환하고 새로운 값을 지정
getset mykey-test 22
"11"

get meykey-test
"22"

SETEX

getex myexkey 30 "timelimits"
OK

get myexkey
"timelimits"

// 30초 후
get myexkey
(nil)

정리하면서

레디스에서 가장 기본이 되는 Strings 데이터 구조에 대해서 알아봤다. 앞으로 레디스를 사용하면서 무수하게 사용할 명령어들이기 때문에 자주 사용하면서 머리와 손에 익도록 연습해 보자. 레디스의 무궁무진함은 이제 시작이다.

참고하면 좋은 글

 

C# StackExchange.Redis로 Redis 사용하기

Redis 테스트에 사용할 C# 프로젝트를 생성해준다. Nuget에서 redis로 검색하고 StackExchange.Redis를 설치한다. 사전 준비 레디스 데이터베이스 이용하기 간단하게 redis 데이터베이스에 접근할 수 있다. I

jettstream.tistory.com

참조 사이트

 

Redis Strings

Introduction to Redis strings

redis.io

댓글