Redis는 데이터가 키-값 쌍으로 저장되는 NOSQL 데이터베이스입니다.
Redis는 데이터를 주 메모리에 저장하므로 디스크에 데이터를 저장하는 PostgreSQL과 같은 데이터베이스 시스템과 달리 빠르지만 휘발성이 있습니다.
서버와 데이터베이스가 있는 애플리케이션에서 데이터베이스의 정보에 액세스하면 대기 시간이 발생합니다.
redis와 같은 키-값 데이터베이스는 종종 해당 데이터베이스 앞에 유지되며 액세스 작업은 2단계로 이루어집니다.
이 두 단계를 통해 메인 메모리가 디스크보다 대기 시간이 짧다는 점을 고려하면 Redis를 사용하여 자주 발생하는 최신 데이터와 비용이 많이 드는 작업을 저장하고 액세스하여 애플리케이션을 10~50배 더 빠르게 만들 수 있다고 말할 수 있습니다.
따라서 미래에 확장 가능한 애플리케이션을 구축하려면 Redis(또는 Redis와 유사한 데이터베이스)가 필수 불가결하다는 것이 사실입니다.
Redis는 오픈 소스인가요?: 예, Redis는 특별한 종류의 라이선스를 갖춘 오픈 소스이지만 오픈 소스인 Snapchat의 KeyDB 및 Memcached와 같은 대안도 있습니다. KeyDB는 Redis의 포크이지만 현재는 Linux에서만 실행할 수 있습니다.
Redis는 Windows를 지원합니까?: 아니요, Redis는 Windows를 지원하지 않지만
를 사용하여 WSL/Ubuntu를 설치하고 Redis를 설치할 수 있습니다.
sudo apt install redis
redis-server --port 6000
여기서 6000은 실행하려는 로컬 서버의 포트입니다. (즉, 127.0.0.1:6000).
대부분의 문제는 redis-server가 사용하는 기본 포트가 이미 사용되고 있기 때문에 발생합니다.
Linux에서 Redis를 설치하는 것은 다음과 같이 간단합니다.
sudo apt install redisMac의
또는:
brew install redis
에 2개의 터미널
인스턴스가 있어야 합니다.서버를 실행하는 첫 번째 서버
redis-server -port
그리고 두 번째로 클라이언트를 실행합니다.
redis-cli
웹 앱을 구축할 때 클라이언트를 실행할 필요는 없지만 서버는 실행해야 합니다.
레디스 개념
Redis에는 이해해야 할 3가지 주요 개념이 있습니다. 또는 4가지
다른 모든 데이터 구조는 주로 첫 번째 데이터 구조의 고급 구현입니다.
목록이란 연결된 목록이 아니라 배열을 의미하며 이것이 Redis가 부르는 것입니다.
키-값 쌍은 대부분의 프로그래밍 언어에서 일반적인 데이터 구조입니다.
파이썬에서는 사전 또는 줄여서 dict라고 합니다.
자바스크립트에서는 지도
C#에서는 사전
Redis에는 키-값 쌍에 대한 6가지 주요 작업이 있습니다.
작업 | 설명 | 예 | 추가 설명 |
---|---|---|---|
세트 | 키-값 쌍을 생성합니다. | SET 이름 John | 값에 매핑할 키를 설정합니다. |
얻다 | 키 값을 가져옵니다. | 이름 가져오기 | 이것은 John을 반환합니다. |
델 | 키 값 쌍을 삭제합니다. | DEL 이름 | 이렇게 하면 데이터베이스에서 키 값 쌍 이름이 제거됩니다. |
있음 | redis 데이터베이스에 키가 있는지 확인합니다. | 이름이 존재합니다 | 참 또는 거짓에 해당하는 1 또는 0을 반환합니다. |
플러시홀 | 전체 캐시를 지웁니다. | 플러시홀 | 포스트그레스의 DROP TABLE과 다소 비슷합니다. |
키 * | 데이터베이스의 모든 키를 반환합니다. | 키 * |
시간 기반 작업도 있습니다. 시간 기반 작업에서 키는 설정된 시간 동안만 캐시에 있으며, 시간이 만료되면 캐시가 키를 삭제합니다.
2가지 주요 시간 기반 작업이 있습니다.
작업 | 설명 | 예 | 추가 설명 |
---|---|---|---|
내쉬다 | 정의된 키가 만료됩니다. | 이름 10 만료 | 10초 후에 키-값 이름을 삭제합니다. 키는 EXPIRE를 호출하기 전에 SET로 정의되어야 합니다. 일반적인 대안은 다음과 같습니다. |
SETEX | 정의 시 키가 만료됩니다. | SETEX 나이 30 15 | 키 수명을 값 30으로 설정한 후 15초 이후의 키-값 쌍을 삭제합니다. |
TTL | 수명 | TTL 연령 | 연령 키 삭제까지 남은 시간을 반환합니다. |
블로그가 너무 길어지고 있습니다. 목록, 세트, 해시맵 및 redis에 대한 가능한 인터뷰 질문 다른 블로그에 있습니다.
질문이 있으시면 아래에 댓글을 남겨주세요. 최선을 다해 답변해 드리겠습니다⭐. 즐거운 코딩
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3