반응형
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 Hashes 데이터 구조 사용하기 (0) | 2024.12.04 |
---|---|
C# StackExchange로 Redis Sets 데이터 구조 사용하기 (0) | 2024.12.03 |
레디스(Redis) TTL 설정하기 (0) | 2024.04.23 |
StackExchange.Redis Subscribe()로 구독하기 (0) | 2023.12.27 |
Redis 자료구조(Data Structures) (11) | 2023.05.30 |
댓글