1. Redis 소개
Redis는 Nosql 데이터베이스에서 널리 사용되는 비관계형 메모리 데이터베이스로 내부적으로 키-값 저장 시스템입니다. string(문자열), 목록(연결된 목록), 집합(집합), zset(정렬 집합 – 순서 집합) 및 해시(해시 유형, Java의 map과 유사)를 포함하여 상대적으로 더 많은 저장 값 유형을 지원합니다. Redis는 메모리에서 실행되고 지속성을 지원하는 NoSQL 데이터베이스로, 가장 널리 사용되는 NoSQL 데이터베이스 중 하나이며 데이터 구조 서버라고도 합니다.
2. 인터넷 시대에는 왜 Nosql을 사용해야 할까요?
1) 데이터의 총 크기가 한 머신에 맞지 않는 경우.
2) 데이터 인덱스를 기계의 메모리에 저장할 수 없는 경우.
3) 한 번에 방문 횟수(읽기와 쓰기 혼합)를 수용할 수 없는 경우.
단일 머신 시대 모델
매회 수천 개의 데이터가 저장되면 이로 인해 MySQL의 성능이 저하되고 저장 및 읽기 속도가 느려지며 캐싱 + mysql + 수직으로 진화합니다. 나뉘다.
캐시는 중간 캐시 역할을 합니다.
모든 데이터를 먼저 캐시에 저장한 다음 mysql에 저장하여 데이터베이스 부담을 줄이고 효율성을 높입니다. 그러나 데이터가 다시 다른 크기로 증가하면 위의 방법으로는 수요를 충족할 수 없습니다. 데이터베이스 쓰기 압력이 증가함에 따라 Memcached는 데이터베이스 읽기 압력만 완화할 수 있습니다.
하나의 데이터베이스에 읽기와 쓰기가 집중되면 데이터베이스가 압도됩니다. 대부분의 웹사이트에서는 읽기와 쓰기 성능을 향상시키고 읽기 데이터베이스의 확장성을 높이기 위해 마스터-슬레이브 복제 기술을 사용하기 시작했습니다. MySQL의 마스터-슬레이브 모드는 현재 웹사이트의 표준이 되었습니다.
마스터-슬레이브 분리 모드
redis의 캐시, MySQL의 마스터-슬레이브 복제, 읽기와 쓰기의 분리를 기반으로 이때 MySQL 메인 데이터베이스의 쓰기 압력이 시작되었습니다. MyISAM이 테이블 잠금을 사용하기 때문에 많은 동시성 MySQL 애플리케이션이 MyISAM 대신 InnoDB 엔진을 사용하기 시작했습니다.
하위 테이블 및 하위 데이터베이스 모드
작은 변경 사항과 비즈니스 관련 데이터를 하나의 데이터베이스에 넣고, 큰 변경 사항과 관련 없는 데이터를 하나의 데이터베이스에 담습니다.
3. nosql 데이터베이스의 장점
1) 확장이 용이함
이러한 유형의 데이터 저장소는 고정된 패턴이 필요하지 않으며 중복 작업 없이 수평 확장이 가능합니다. 관계형 데이터베이스에 비해 테이블과 필드의 수를 줄일 수 있습니다. 또한 아키텍처 수준의 확장성을 제공합니다.
2) 대용량 데이터 볼륨으로 성능이 향상됩니다.
3) 다양하고 유연한 데이터 모델
nosql에서는 문자열 및 해시뿐만 아니라 저장, 설정, Zset 및 기타 데이터도 가능합니다. 유형을 저장하고 javaBean 및 다양한 복합 데이터 유형을 저장할 수도 있습니다.
4. NoSql의 적용
1) 빅데이터 시대에 Taobao, WeChat, Weibo는 redis 데이터베이스를 사용하여 학교, 지역 및 기타 고정 정보를 관계 유형으로 저장했습니다. 데이터 베이스. 예를 들어, 자주 변경되는 데이터의 경우, Taobao는 휴일마다 검색창에 인기 검색어를 표시합니다. 휴일이 지나면 키워드는 자동으로 삭제되어 관리를 용이하게 하며 이러한 데이터는 redis 데이터베이스에 저장될 수 있습니다. 만료 시간을 설정하면 해당 시간이 자동으로 삭제됩니다.
2) 웨이보는 데이터베이스에 대한 부담을 덜기 위해 먼저 전송된 웨이보를 redis 데이터베이스에 저장하여 즉시 볼 수 있도록 한 후, 메모리에 있는 데이터를 관계형 데이터베이스에 동기화합니다.
위 내용은 참고용입니다!
추천 비디오 튜토리얼: redis 튜토리얼
위 내용은 PHP는 왜 Redis를 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!