Redis: 자세한 설명, 튜토리얼 및 예제

Redis: 자세한 설명, 튜토리얼 및 예제

Redis 란 무엇입니까?

Redis(원격 사전 서버)는 데이터베이스, 캐시 및 메시지 미들웨어로 사용할 수 있는 오픈 소스 인 메모리 데이터 저장 시스템입니다. 문자열, 해시 테이블, 목록, 세트, ​​정렬된 세트 등과 같은 여러 데이터 구조를 지원하므로 빠른 캐싱부터 실시간 분석까지 다양한 사용 사례를 처리하는 데 이상적입니다.

Redis의 주요 기능은 다음과 같습니다.

  1. 인메모리 스토리지: Redis 데이터가 메모리에 저장되므로 읽기 및 쓰기 속도가 매우 빠릅니다.

  2. 지속성: Redis는 다시 시작한 후에도 데이터 무결성이 유지되도록 디스크에 데이터를 유지하는 기능을 지원합니다.

  3. 다중 데이터 구조: Redis는 풍부한 데이터 구조를 지원하므로 다양한 애플리케이션 시나리오에 적용할 수 있습니다.

  4. 분산형: Redis는 분산형 배포를 지원하며 가용성이 높은 고성능 클러스터를 구축할 수 있습니다.

  5. 트랜잭션: Redis는 원자성을 유지하면서 여러 명령을 일괄적으로 실행할 수 있는 트랜잭션을 지원합니다.

  6. 게시/구독: Redis는 메시지 전달 및 이벤트 알림을 구현하는 데 사용할 수 있는 게시/구독 모델을 지원합니다.

  7. 유연한 구성 옵션: Redis에는 다양한 요구 사항에 따라 조정할 수 있는 다양한 구성 옵션이 있습니다.

레디스를 사용하는 방법?

다음은 기본 작업과 예제를 다루는 간단한 Redis 사용 튜토리얼입니다.

1. Redis 설치 및 시작

먼저 Redis를 설치해야 합니다. 공식 웹사이트(https://redis.io/download)에서 다운로드하고 지침에 따라 설치할 수 있습니다. 설치가 완료되면 다음 명령을 사용하여 Redis 서버를 시작할 수 있습니다.

redis-server

2. 레디스에 연결

명령줄 도구를 사용하여 redis-cliRedis 서버에 연결할 수 있습니다.

redis-cli

3. 기본 조작 예

다음은 일반적인 Redis 작업의 몇 가지 예입니다.

  • 키-값 쌍을 설정합니다.
set mykey "Hello, Redis!"
  • 키 값을 가져옵니다.
get mykey
  • 해시 테이블을 저장합니다.
hmset user:1 username alice age 30
  • 해시테이블 필드의 값을 가져옵니다.
hget user:1 username
  • 저장 목록:
lpush numbers 1 2 3 4 5
  • 목록 요소를 가져옵니다.
lrange numbers 0 -1
  • 스토리지 컬렉션:
sadd cities "New York" "London" "Tokyo"
  • 컬렉션 요소 가져오기:
smembers cities

4. 스프링 부트와 함께 Redis 사용하기

Spring Boot 프로젝트에서는 Spring Data Redis를 사용하여 Redis를 통합할 수 있습니다. 먼저, pom.xml프로젝트 파일에 다음 종속성을 추가해야 합니다.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

그런 다음 RedisTemplate객체를 생성하여 Redis 작업을 수행할 수 있습니다. 예는 다음과 같습니다.

import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;

@Service
public class RedisService {
    
    

    private final RedisTemplate<String, String> redisTemplate;

    public RedisService(RedisTemplate<String, String> redisTemplate) {
    
    
        this.redisTemplate = redisTemplate;
    }

    public void setValue(String key, String value) {
    
    
        redisTemplate.opsForValue().set(key, value);
    }

    public String getValue(String key) {
    
    
        return redisTemplate.opsForValue().get(key);
    }
}

5. 애플리케이션에서 Redis 사용

애플리케이션에서 RedisServiceRedis를 삽입하고 사용할 수 있습니다. 예는 다음과 같습니다.

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class RedisController {
    
    

    private final RedisService redisService;

    public RedisController(RedisService redisService) {
    
    
        this.redisService = redisService;
    }

    @GetMapping("/set/{key}/{value}")
    public String setValue(@PathVariable String key, @PathVariable String value) {
    
    
        redisService.setValue(key, value);
        return "Value set successfully";
    }

    @GetMapping("/get/{key}")
    public String getValue(@PathVariable String key) {
    
    
        return redisService.getValue(key);
    }
}

위의 예는 Spring Boot 프로젝트에서 Redis를 통합하고 사용하는 방법과 HTTP 요청을 통해 데이터를 설정하고 가져오는 방법을 보여줍니다.

요약하다

Redis는 여러 데이터 구조와 풍부한 작업을 지원하는 강력한 메모리 데이터 스토리지 시스템입니다. 이 기사에 제공된 간단한 튜토리얼과 예제를 통해 Redis를 설치하고 시작하는 방법과 명령줄 및 Spring Boot 프로젝트에서 기본 작업에 Redis를 사용하는 방법을 배울 수 있습니다. 캐싱부터 데이터 스토리지, 메시지 큐부터 분산 잠금까지 Redis는 다양한 시나리오의 요구 사항을 충족하는 풍부한 기능을 제공합니다.

추천

출처blog.csdn.net/weixin_42279822/article/details/132205803