레디스
3540 단어 rediscachedatabaseprogramming
It is like one giant JSON object that has key value pairs
따라서 관계형 데이터베이스로 작업할 때 키-값이 기본적으로 의미하는 것은 적절한 스키마를 정의해야 하고 특정 키가 기본 키인지 정의해야 하며 특정 열이 null 값을 허용하지 않지만 Redis의 경우는 그렇지 않습니다. 완전히 스키마가 없는 데이터베이스로서 키는 문자열이고 값은 숫자, 얼룩, 비디오 등이 될 수 있는 키-값 형식으로 정보를 저장합니다.
메인 메모리에 완전히 의존하는 In memory 데이터베이스로 다음과 같은 장점이 있습니다.
유일한 단점은 서버 장애 시 데이터 손실이 발생할 수 있다는 것입니다.
Redis는 단일 스레드 시스템이므로 단일 스레드 데이터베이스가 다중 스레드 데이터베이스만큼 효과적이지 않을 수 있다고 생각할 수 있지만 단일 스레드 시스템은 원하는 만큼 많은 인스턴스를 스핀업할 수 있기 때문에 여전히 확장됩니다.
선택적 내구성
Redis에서 데이터를 지속하는 두 가지 방법이 있으며 둘 다 배경에서 비동기 적으로 발생합니다.
저널링
따라서 저널링은 키-값 쌍을 작성하는 경우 분명히 메모리에 기록할 뿐만 아니라 동시에 디스크 메모리에도 기록할 것이라고 가정합니다.
스냅샷
다른 방법은 데이터를 유지하는 것입니다. 스냅 샷, 즉 어느 시점에서 데이터를 복사하고 디스크에 저장하는 것입니다. 데이터 트랜잭션 사이에 시스템 오류가 발생하면 데이터 손실이 발생하고 스냅샷이 활성화된 경우 이전에 스냅샷이 생성된 디스크에만 데이터가 저장된다고 가정합니다.
코딩 부분으로 이동하여 Docker를 사용하여 명령을 표시하여 Redis 데이터베이스를 신속하게 시작할 수 있도록하겠습니다.
sudo docker run --name redisdatabase -p 6379:6379 redis
sudo docker exec -it redisdatabase redis-cli
set name "devyank"
여기 이름은 키를 참조하고 Devyank는 값을 나타냅니다.
get name
set hobby "running" EX 10
위의 예에서 키-값 쌍의 만료 시간은 10초입니다. 10초 후에 get 명령을 실행하면 다음 결과 즉, nil을 얻게 됩니다.
exists key
따라서 키가 존재하면 1 정수 값을 반환하고 키가 존재하지 않으면 0 정수 값을 반환합니다.
keys *
Pub-Sub 모델
subscribe devyankvideos
그래서 위의 예에서 나는 이전에 존재하지 않은 채널“devyankvideos”를 구독했습니다.
publish devyankvideos "Redis tutorial"
이제 새 비디오가 추가되었다는 메시지를 받았음을 알 수 있습니다.
Reference
이 문제에 관하여(레디스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/2devyank/redis-3o0p텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)