강좌 재생 주소: http://www.php.cn/course/404.html
선생님의 강의 스타일:
선생님의 강의는 생생하고 재치 있고 재치 있습니다. 감동. 생생한 은유는 학생들에게 지혜의 문을 열어주는 마무리와 같습니다. 잘 배치된 유머는 마치 부드러운 와인 한 잔을 마시는 것과 같이 학생들에게 아는 듯한 미소를 가져다 주고, 사람들에게 철학자의 격언과 문화적 언급을 선사합니다. 내레이션에 때때로 삽입되어 사람들에게 생각과 주의력을 제공합니다.
이 영상에서 더 어려운 점은 Memcache와 Redis 캐싱 기술입니다.
Memcache
Memcache는 고성능 분산 메모리 개체 캐싱 시스템으로, 메모리에 통합된 거대한 해시 테이블을 유지함으로써 다음과 같은 작업을 수행할 수 있습니다. 이미지, 비디오, 파일, 데이터베이스 검색 결과 등 다양한 형식으로 데이터를 저장합니다. 간단히 말하면, 데이터가 메모리로 호출된 다음 메모리에서 읽혀지므로 읽기 속도가 크게 향상됩니다.
Memcache 기능:
(1) 물리적 메모리를 캐시 영역으로 사용하고 서버에서 독립적으로 실행할 수 있습니다. 각 프로세스의 최대 용량은 2G입니다. 더 많은 데이터를 캐시하려면 더 많은 Memcache 프로세스(다른 포트)를 열거나 캐싱용 분산 Memcache를 사용하여 다양한 물리적 머신이나 가상 머신에 데이터를 캐시할 수 있습니다.
(2) 데이터 항목의 쿼리 시간 복잡도를 O(1)로 만들 수 있는 단일 인덱스 구조의 데이터 조직인 키-값 방법을 사용하여 데이터를 저장합니다.
(3) 단순 프로토콜: 텔넷을 통해 memcached 서버의 데이터에 직접 액세스할 수 있는 텍스트 라인 기반 프로토콜로, 다양한 캐시에서 이 프로토콜을 참조하면 간단하고 편리합니다. libevent 기반: Libevent C로 개발된 프로그램 라이브러리 세트입니다. BSD 시스템의 kqueue, Linux 시스템의 epoll 등 이벤트 처리 기능을 인터페이스로 캡슐화하여 기존 select에 비해 성능이 향상됩니다.
(5) 내장 메모리 관리 방식: 모든 데이터는 메모리에 저장되며, 메모리가 가득 차면 LRU 알고리즘을 통해 사용하지 않는 캐시를 자동으로 삭제하지만, 데이터 접근 속도는 하드 디스크보다 빠릅니다. 데이터 복구는 고려되지 않습니다. 서비스를 다시 시작하면 모든 데이터가 손실됩니다.
(6) 분산형: 각 memcached 서버는 서로 통신하지 않고, 각각 독립적으로 데이터에 액세스하며, 어떤 정보도 공유하지 않습니다. 서버에는 분산 기능이 없으며 분산 배포는 Memcache 클라이언트에 따라 다릅니다.
(7) 캐시 전략: Memcached의 캐시 전략은 LRU(최근 사용) 만료 전략입니다. memcached에 데이터 항목을 저장할 때 캐시 만료 시간을 지정할 수 있습니다. 기본값은 영구입니다. memcached 서버에 할당된 메모리가 부족해지면 만료된 데이터가 먼저 교체되고 최근에 사용되지 않은 데이터가 교체됩니다. LRU에서 memcached는 저장된 키/값 쌍이 만료되었는지 여부를 모니터링하지 않고 키 값을 얻을 때 기록된 타임스탬프를 확인하여 키/값 쌍 공간이 만료되었는지 확인합니다. 서버의 부하.
Redis
Redis는 오픈 소스(BSD 라이선스), 메모리 기반, 다중 데이터 구조 스토리지 시스템입니다. 데이터베이스, 캐시 및 메시지 미들웨어로 사용할 수 있습니다. 문자열, 해시, 목록, 세트, 정렬된 세트 및 범위 쿼리, 비트맵, 하이퍼로그 로그 및 지리공간(Geospatial) 인덱스 반경 쿼리와 같은 여러 유형의 데이터 구조를 지원합니다.
내장 복제, LUA 스크립팅, LRU 제거, 트랜잭션 및 다양한 수준의 디스크 지속성, 그리고 Redis Sentinel 및 자동 파티셔닝(클러스터)을 통해 고가용성을 제공합니다.
Redis에서 일반적으로 사용되는 데이터 유형
Redis에서 가장 일반적으로 사용되는 데이터 유형은 주로 다음과 같습니다.
정렬된 세트
위 내용은 PHP 개발 APP 인터페이스 비디오 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!