redis 예제

redis 예제
2 Agosto, 2019 fabio

참고: 이 문서의 원래 버전은 Redis가 릴리스된 2009년에 작성되었습니다. 당시에는 Redis 데이터 모델이 전체 응용 프로그램을 작성하는 데 적합하다는 것이 정확히 명확하지 않았습니다. 지금 후 5 년 자신의 메인 스토어로 Redis를 사용하는 응용 프로그램의 많은 경우가 있습니다, 그래서 오늘 기사의 목표는 Redis 신규 이민자를위한 튜토리얼이 될 것입니다. Redis를 사용하여 간단한 데이터 레이아웃을 디자인하는 방법과 다양한 데이터 구조를 적용하는 방법에 대해 알아봅니다. BITPOS와 BITCOUNT는 문자열의 전체 길이에 대해 실행되는 대신 문자열의 바이트 범위로 작동할 수 있습니다. 다음은 BITCOUNT 호출의 간단한 예입니다: Redis는 메모리 내 데이터베이스 플랫폼 및 데이터 구조 저장소입니다. Redis Labs의 제품 및 서비스는 클라우드 안팎에서 Redis 데이터베이스의 배포 및 관리를 용이하게 합니다. Redis의 또 다른 특징인 키 만료를 소개해 보겠습니다. 키가 만료되면 해당 키와 해당 값은 특정 시간(초) 또는 특정 타임스탬프 에서 데이터베이스에서 자동으로 삭제됩니다.

이 문서에서는 유일한 데이터베이스로 Redis와 PHP를 사용하여 작성된 매우 간단한 Twitter 복제본의 설계 및 구현에 대해 설명합니다. 프로그래밍 커뮤니티는 전통적으로 키-값 저장소를 웹 응용 프로그램 개발을 위한 관계형 데이터베이스의 드롭인 대체로 사용할 수 없는 특수 목적 데이터베이스로 간주해 왔습니다. 이 문서에서는 Key-value 계층 위에 있는 Redis 데이터 구조가 여러 종류의 응용 프로그램을 구현하는 효과적인 데이터 모델임을 보여 줍니다. Redis에는 멤버십을 테스트하라는 명령이 있습니다. 예를 들어 요소가 있는지 확인: 아래 예제에서는 GET 명령을 사용하여 개체를 검색한 다음 json으로 역직렬화하는 것을 보여 주십입니다. Unmarshal 나는 모든 사람이 읽을 수 있기 때문에 예제에 PHP를 사용했습니다. 루비, 파이썬, 에를랑 등을 사용하여 동일한 (또는 더 나은) 결과를 얻을 수 있습니다. 몇 가지 클론이 존재합니다 (그러나 모든 클론이이 튜토리얼의 현재 버전과 동일한 데이터 레이아웃을 사용하는 것은 아니므로 기사를 더 잘 따르기 위해 공식 PHP 구현을 고수하십시오). 정렬된 집합은 매우 강력한 데이터 구조이므로 점수 범위, 사전순, 역순으로 요소를 쿼리할 수 있습니다.

자세한 내용은 공식 Redis 명령 설명서에서 정렬된 집합 섹션을 확인하십시오. 의 에 뛰어 예를 통해 배울 수 있습니다. 우리의 첫 번째 장난감 데이터베이스 (ID 0)는 국가 : 자본 도시의 매핑이 될 것입니다, 여기서 우리는 키 – 값 쌍을 설정하는 SET을 사용 : Redis를 클러스터링에 대한 몇 가지 솔루션이 있습니다, 그 중 가장 주목할만한 오픈 소스 Redis 클러스터입니다. 형식은 저장 . 이렇게 하면 Redis는 지정된 초 수와 데이터베이스에 대한 쓰기 작업 수가 모두 발생한 경우 데이터베이스를 디스크에 저장하도록 지시합니다. 이 경우 60초 동안 하나 이상의 수정 쓰기 작업이 발생한 경우 60초마다 데이터베이스를 디스크에 저장하라는 Redis의 지시가 있습니다. 이 세 가지 저장 지시문을 사용하는 샘플 Redis 구성 파일에 비해 상당히 공격적인 설정입니다. 증조할아버지가 말씀하셨듯이, 그 어떤 것도 소스에서 설치하는 것과 같은 모래를 쌓지 않습니다. 이 섹션에서는 Redis를 다운로드, 만들기 및 설치하는 작업을 안내합니다. 나는 이것이 한 비트를 다치게하지 않을 것이라고 약속한다! 마지막으로 빠른 최적화 는 압축입니다.

대역폭이 문제가 되거나 비용을 중요시하는 경우 Redis에서 데이터를 보내고 받을 때 무손실 압축 및 압축 해제 체계를 구현할 수 있습니다. 다음은 bzip2 압축 알고리즘을 사용하는 예입니다.이 극단적인 경우 2,000 개 이상의 요인으로 연결을 통해 전송 되는 바이트 수를 줄입니다: 많은 클라이언트가 같은 서버에 이야기 할 수 있습니다. 응용 프로그램에 대한 모든입니다. 각 클라이언트는 서버 응답을 기다리는 소켓에서 (일반적으로 차단) 읽기를 수행합니다.