• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 1. Oracle VM Template for MySQL Enterprise
    2. DRBD/Pacemaker/Corosync/Oracle Linux 사용
    3. Windows 장애 조치 클러스터링 사용
    4. Amazon EC2 인스턴스의 MySQL의 사용
    5. ZFS 복제 사용
    6. MySQL과 memcached의 병용
    1. memcached 설치
    2. memcached 사용
    3. memcached 응용 프로그램 개발
    1. memcached의 기본 조작
    2. MySQL 캐시 레이어로 memcached 사용
    3. C 및 C ++에서 libmemcached 사용
    4. Perl에서 MySQL과 memcached 사용
    5. Python에서 MySQL과 memcached 사용
    6. PHP와 MySQL과 memcached 사용
    7. Ruby에서 MySQL과 memcached 사용
    8. Java에서 MySQL과 memcached 사용
    9. memcached의 TCP 텍스트 프로토콜 사용
    4. memcached 통계의 취득
    5. memcached의 FAQ
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

16.6.3.2 MySQL 캐시 레이어로 memcached 사용

memcached를 사용하여 MySQL의 데이터를 캐시하는 경우 응용 프로그램은 데이터베이스에서 데이터를 검색하고 적절한 키 / 값 쌍을 캐시에로드해야합니다. 이후 검색은 캐시에서 직접 실행할 수 있습니다.

MySQL은 쿼리 된 데이터에 대한 자신의 인 메모리 캐싱 메커니즘 ( InnoDB 의 버퍼 풀 과 MySQL 쿼리 캐시 등)가 준비되어 있기 때문에 각 컬럼 값과 행의 캐시에로드 이외의 기능도 사용할 수 합니다. 결합 쿼리에서 여러 테이블에서 검색된 값이나 여러 행에서 모아진 결과 세트 등의 복합 값 캐시에 더 적합합니다.

주의

memcached 인스턴스 내의 정보에 접근하거나 정보의 업데이트에 필요한 보안이 아니기 때문에 캐시의 정보는 기밀이 아닌 데이터에 한정합니다. 컴퓨터에 액세스하는 모든 사용자가 정보를 읽고 표시하고 경우에 따라서는 갱신 할 수 있습니다. 데이터를 안전한 상태로 유지하려면 정보를 캐시하기 전에 암호화합니다. 서버에 연결할 수있는 사용자를 제한하려면 네트워크 액세스를 비활성화하거나 IPTables 또는 유사한 기술을 사용하여 memcached 포트에 대한 액세스를 선택한 호스트의 세트로 제한합니다.

memcached 는 캐시가 원래 설계에 포함되지 않은 경우에도 기존의 응용 프로그램에 도입 할 수 있습니다. 많은 언어와 환경에서 응용 프로그램의 변경은 몇 줄입니다. 먼저 데이터를로드 할 때 캐시에서 읽기를 시도하고 정보가 캐시되지 않은 경우는 옛날 방식으로 대체하여 데이터를 읽고 있으면 그 정보 캐시를 업데이트합니다.

어떤 언어에서도 MySQL 캐시 솔루션으로 memcached를 사용하는 일반적인 절차는 다음과 같습니다.

  1. 캐시에서 항목을 요구합니다.

  2. 항목이 있으면 해당 항목 데이터를 사용합니다.

  3. 항목이 존재하지 않는 경우는 MySQL에서 데이터를로드하고 그 값을 캐시에 저장합니다. 즉, 그 값은 캐시에서 그것을 요​​구하는 다음 클라이언트에서 사용할 수 있습니다.

이 절차의 흐름도는 그림 16.8 "일반적인 memcached 응용 프로그램의 흐름도" 를 참조하십시오.

그림 16.8 일반적인 memcached 응용 프로그램의 흐름도

일반적인 memcached 응용 프로그램의 흐름도

memcached 응용 프로그램에 대한 데이터베이스의 모범 사례 적용

MySQL의 데이터를 캐시하는 가장 직접적인 방법은 2 열 테이블을 사용하여 첫 번째 컬럼을 기본 키로 하는 것입니다. memcached 키의 고유성 요구 사항에 대한 데이터베이스 스키마에서 기본 키 및 고유 제약 이 제대로 사용되고 있는지 확인하십시오.

여러 컬럼 값을 결합하여 하나의 memcached 항목 값하려면 값을 그 구성 요소에 쉽게 분석 할 수있는 데이터 형식을 선택하십시오 (예를 들어 숫자 사이에 구분 기호를 사용하는 등).

memcached의 검색에 가장 쉽게지도 할 수있는 쿼리는 WHERE 절이 하나, = 또는 IN 연산자를 사용하는 쿼리입니다. 복잡한 WHERE 절과 < , > , BETWEEN , LIKE 같은 연산자를 사용하는 경우 memcached는 키와 관련된 값을 쉽게 또는 효율적으로 스캔 또는 필터링 할 방법이 없기 때문에 일반적으로 이러한 작업 를 기본 데이터베이스에 대한 SQL 쿼리로 실행합니다.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved