2024. 4. 15. 14:04ㆍ기술 창고/DataBase
Redis의 String 타입의 데이터는 가장 기본적인 데이터 타입으로써, text, byte 형식의 데이터를 저장합니다.
또한, 증가 (Increment) / 감소 (Decrement)에 대한 연산을 지원해줍니다.
주요 명령어
- SET
- SETNX
- GET
- MGET
- INCR
- INCRBY
- DECR
- DECRBY
Command 실습
SET
set은 String 타입의 데이터를 넣어줄 때 사용되는 명령어입니다.
만약 기존에 존재하던 키 값이고 데이터가 존재할 경우 기존 데이터 값을 지우고 새롭게 넣어줍니다.
- 형식 : set {키} {데이터 값}
SETNX
setnx 는 set과 마찬가지로 String 타입의 데이터를 넣어주지만 기존에 존재하는 키 값에 setnx를 적용하여 데이터를 넣어주려고 할 경우, 이를 방지해주는 특성을 가지고 있습니다.
- 형식 : setnx {키} {데이터 값}
위의 이미지처럼 기존에 존재하는 키 값인 users:100:email에 setnx를 통해 데이터를 넣으려고 했더니 0 으로 결과값이 나오면서 반영이 안된 것을 알 수 있습니다.
그러므로 새로운 키 값으로 setnx를 처리해주어야 합니다.
GET
get은 String 타입의 데이터를 key 값을 기준으로 조회하는 명령어입니다.
- 형식 : get {키}
MGET
mget은 String 타입의 여러 데이터들을 key 값을 기준으로 다중 조회하는 명령어입니다.
- 형식 : mget {키} {키2} ...
INCR
incr는 원자적 데이터 증가 명령어입니다.
키 값이나 데이터 존재 유무 상관없이 키를 생성하고 데이터를 원자적으로 증가시켜줍니다.
- 형식 : incr {키}
INCRBY
incrby는 기존에 incr처럼 1씩 증가하는 것이 아닌, 대량의 수를 증가시키는 명령어입니다.
- 형식 : incrby {키} {증가수}
DECR
decr은 반대로 원자적 데이터를 감소시키는 명령어입니다.
키 값이나 데이터 존재 유무 상관없이 키를 생성하고 데이터를 원자적으로 감소시켜줍니다.
- 형식 : decr {키}
DECRBY
decrby는 기존에 decr처럼 1씩 감소시키는 것이 아닌, 대량의 수를 감소시키는 명령어입니다.
- 형식 : decrby {키} {감소량}
Spring Boot 사전 연동 필요
https://jindevelopetravel0919.tistory.com/395
Spring Boot 활용 실습
// Redis - String
public void jedisOfString() {
try (JedisPool pool = jedisPoolSetting()) {
try (Jedis jedis = pool.getResource()) {
// [ SET ]
// set을 통해 String 타입의 일반 문자열 데이터를 저장
jedis.set("users:234:email", "sehun@naver.com");
jedis.set("users:234:name", "sehun");
jedis.set("users:234:age", "28");
// [ GET ]
// get을 통해 String 타입의 데이터를 조회
System.out.println(jedis.get("users:234:email"));
// [ MGET ]
// mget을 통한 다수의 특정 String 데이터를 조회
List<String> mgetData = jedis.mget("users:234:email", "users:234:name", "users:234:age");
mgetData.forEach(System.out::println);
// [ INCR ]
// incr를 통한 특정 단일 데이터 증량 (없다면 바로 데이터가 생성되면서 1로 초기화)
long counter = jedis.incr("counter");
System.out.println(counter);
// [ INCRBY ]
// incrBy를 통한 특정 단일 데이터의 1씩 증가가 아닌 많은 수를 증가
counter = jedis.incrBy("counter", 10L);
System.out.println(counter);
// [ DECR ]
// decr를 통한 특정 단일 데이터 1 감소
counter = jedis.decr("counter");
System.out.println(counter);
// [ DECRBY ]
// decrBy를 통한 특정 단일 데이터 많은 수 감소
counter = jedis.decrBy("counter", 10L);
System.out.println(counter);
}
}
}
'기술 창고 > DataBase' 카테고리의 다른 글
[Redis] Set 데이터 운영 - (Jedis) (0) | 2024.04.15 |
---|---|
[Redis] List 데이터 운영 - (Jedis) (0) | 2024.04.15 |
[Redis] Spring Boot 와 Redis 연동 설정 - (Jedis) (0) | 2024.04.15 |
[Redis] Spring Boot 와 Redis 연동 설정 - (RedisTemplate) (0) | 2024.04.15 |
[Redis] Docker 환경에서 Redis 설치 - (CentOS / Linux) (0) | 2024.04.15 |