레디스

It is like one giant JSON object that has key value pairs





따라서 관계형 데이터베이스로 작업할 때 키-값이 기본적으로 의미하는 것은 적절한 스키마를 정의해야 하고 특정 키가 기본 키인지 정의해야 하며 특정 열이 null 값을 허용하지 않지만 Redis의 경우는 그렇지 않습니다. 완전히 스키마가 없는 데이터베이스로서 키는 문자열이고 값은 숫자, 얼룩, 비디오 등이 될 수 있는 키-값 형식으로 정보를 저장합니다.

메인 메모리에 완전히 의존하는 In memory 데이터베이스로 다음과 같은 장점이 있습니다.
  • 데이터 검색이 빨라집니다
  • .
  • 지연 시간이 1밀리초 미만임
  • 가장 중요한 것은 데이터를 캐시 할 수 있다는 것입니다

  • 유일한 단점은 서버 장애 시 데이터 손실이 발생할 수 있다는 것입니다.
    Redis는 단일 스레드 시스템이므로 단일 스레드 데이터베이스가 다중 스레드 데이터베이스만큼 효과적이지 않을 수 있다고 생각할 수 있지만 단일 스레드 시스템은 원하는 만큼 많은 인스턴스를 스핀업할 수 있기 때문에 여전히 확장됩니다.

    선택적 내구성



    Redis에서 데이터를 지속하는 두 가지 방법이 있으며 둘 다 배경에서 비동기 적으로 발생합니다.

  • 저널링

    따라서 저널링은 키-값 쌍을 작성하는 경우 분명히 메모리에 기록할 뿐만 아니라 동시에 디스크 메모리에도 기록할 것이라고 가정합니다.

  • 스냅샷

    다른 방법은 데이터를 유지하는 것입니다. 스냅 샷, 즉 어느 시점에서 데이터를 복사하고 디스크에 저장하는 것입니다. 데이터 트랜잭션 사이에 시스템 오류가 발생하면 데이터 손실이 발생하고 스냅샷이 활성화된 경우 이전에 스냅샷이 생성된 디스크에만 데이터가 저장된다고 가정합니다.

  • 코딩 부분으로 이동하여 Docker를 사용하여 명령을 표시하여 Redis 데이터베이스를 신속하게 시작할 수 있도록하겠습니다.
  • 먼저 Docker의 Redis 인스턴스를 회전시킵니다.

  • sudo docker run --name redisdatabase -p 6379:6379 redis
    


  • 이제 Redis-Cli에 들어가기 위해 다음 명령을 실행하십시오.

  • sudo docker exec -it redisdatabase redis-cli
    


  • 이제 키 값 쌍을 설정하는 가장 어려운 부분이 제공됩니다.

  • set name "devyank"
    


    여기 이름은 키를 참조하고 Devyank는 값을 나타냅니다.
  • 그래서 우리는 키-값 쌍을 설정했습니다. 이제 값을 얻는 방법에 대한 질문이 생깁니다. 값을 얻으려면 다음 명령을 작성하기만 하면 됩니다.

  • get name
    


  • Key-Value 쌍의 만료 시간을 설정할 수도 있습니다.

  • set hobby "running" EX 10
    


    위의 예에서 키-값 쌍의 만료 시간은 10초입니다. 10초 후에 get 명령을 실행하면 다음 결과 즉, nil을 얻게 됩니다.


  • 데이터베이스에 키가 존재하는지 여부를 확인하라는 명령도 있습니다.

  •  exists key
    


    따라서 키가 존재하면 1 정수 값을 반환하고 키가 존재하지 않으면 0 정수 값을 반환합니다.
  • 데이터베이스에서 모든 키를 검색하라는 명령도 있습니다.

  • keys *
    


    Pub-Sub 모델


  • 따라서 Redis에서는 채널이 존재하지 않더라도 채널을 구독할 수 있으며 나중에 채널에 비디오가 추가되면 알림을 받게 됩니다. 어떻게 이런 일이 발생하는지 명령줄을 살펴보겠습니다.

  •  subscribe devyankvideos
    




    그래서 위의 예에서 나는 이전에 존재하지 않은 채널“devyankvideos”를 구독했습니다.
  • 이제 나는이 채널에 비디오를 게시 할 예정이며 어떤 결과를 얻을 것인지 볼 것입니다.

  • publish devyankvideos "Redis tutorial"
    



    이제 새 비디오가 추가되었다는 메시지를 받았음을 알 수 있습니다.

    좋은 웹페이지 즐겨찾기