Memcached 캐 시 서버 구축 방법

머리말
많은 웹 애플 리 케 이 션 들 이 관계 형 데이터베이스(RDBMS)에 데 이 터 를 저장 하고 서버 가 데 이 터 를 읽 어 브 라 우 저 에 표시 합 니 다.
그러나 데이터 양 이 늘 고 방문 이 집중 되면 서 RDBMS 의 부담 가중,데이터베이스 응답 악화,사이트 디 스 플레이 지연 등 중대 한 영향 이 나타 날 수 있다.
Memcached/redis 는 고성능 분포 식 메모리 캐 시 서버 로 캐 시 데이터 베 이 스 를 통 해 결 과 를 조회 하고 데이터 베 이 스 를 방문 하 는 횟수 를 줄 여 동적 웹 등 응용 속 도 를 높이 고 확장 성 을 높 인 다.
RDBMS 즉 관계 데이터베이스 관리 시스템(Relational Database Management System)
1.소개
 1,nosql 제품:redis,mongodb,memcached.
   NOSQL 명사 해석:비 관계 형 데이터베이스
(1)키 값 쌍 으로 데 이 터 를 저장 합 니 다-(Key-Value)형식
(2)캐 시 데이터베이스― 캐 시 서버 역할:접근 속 도 를 빠르게 하고 데이터베이스 압력 을 완화 합 니 다.
2.NoSQL 의 장점/단점
장점:
-높 은 확장 성
-분산 계산
-저비용
-구조 적 유연성
-복잡 한 관 계 는 없다

단점:
-표준화 없 음
-제 한 된 조회 기능(현재까지)
-최종 일 치 는 비 직관 적 인 절차
캐 시 서버 역할:접근 속 도 를 빠르게 하고 데이터베이스 압력 을 완화 합 니 다.
3.관계 형 데이터 뱅 크 와 비 관계 형 데이터 뱅 크 의 차이:---면접 고주파 문제
1.우선 관계 형 데이터베이스 가 무엇 인지 알 아 본다.
관계 형 데이터 뱅 크 의 가장 전형 적 인 데이터 구 조 는 표 로 2 차원 표 와 그 간 의 관계 로 구 성 된 데이터 조직 이다.
장점:
1.유지 하기 쉽다.모두 표 구 조 를 사용 하고 형식 이 일치 하 다.
2.사용 편의 성:SQL 언어 가 통용 되 고 복잡 한 조회 에 사용 할 수 있 습 니 다.
3.복잡 한 조작:SQL 을 지원 하고 하나의 표 와 여러 표 사이 의 매우 복잡 한 조회 에 사용 할 수 있 습 니 다.
단점:
1.읽 기와 쓰기 성능 이 비교적 떨 어 지고 특히 대량의 데이터 의 효율 적 인 읽 기와 쓰기;
2.고정된 표 구조 로 유연성 이 약간 떨어진다.
3.높 은 동시 읽 기와 쓰기 수 요 를 가진다.전통 적 인 관계 형 데이터 베이스 에 있어 하 드 디스크 I/O 는 매우 큰 병목 이다.
2.어떤 비 관계 형 데이터베이스 입 니까?
비 관계 형 데 이 터 는 데이터 구조 화 저장 방법의 집합 으로 문서 나 키 값 이 같 을 수 있다.
장점:
1.형식 유연성:데 이 터 를 저장 하 는 형식 은 key,value 형식,문서 형식,이미지 형식 등 이 고 문서 형식,이미지 형식 등 이 며 사용 이 유연 하고 응용 장면 이 광범 위 하 며 관계 형 데이터 베 이 스 는 기본 유형 만 지원 합 니 다.
2.속도 가 빠르다:nosql 은 하 드 디스크 나 랜 덤 저장 소 를 캐리어 로 사용 할 수 있 고 관계 형 데이터 베 이 스 는 하 드 디스크 만 사용 할 수 있다.
3.높 은 확장 성;
4.원가 가 낮 음:nosql 데이터베이스 배치 가 간단 하고 기본적으로 모두 오픈 소스 소프트웨어 입 니 다.
단점:
1.sql 지원 을 제공 하지 않 고 학습 과 사용 원가 가 비교적 높다.
2.사무 처리 없 음;
3.데이터 구조 가 상대 적 으로 복잡 하고 복잡 한 조회 가 약간 부족 하 다.
2、memcached
1.특징 
1.내장 메모리 저장 방식---성능 을 향상 시 키 기 위해 memcached 에 저 장 된 데 이 터 는 모두 memcache 에 내 장 된 메모리 저장 공간 에 저 장 됩 니 다.데이터 가 메모리 에 만 존재 하기 때문에 운영 체 제 를 다시 시작 하면 모든 데이터 가 사라 집 니 다.
2.간단 한 key/value 저장------서버 는 데이터 자체 의 의미 와 구조 에 관심 이 없고 직렬 화 가능 한 데이터 만 있 으 면 된다.
                        저장 항목 은'키,만 료 시간,선택 할 수 있 는 표지 와 데이터'네 부분 으로 구성 된다.

2.서비스 구조

의 원리
1.클 라 이언 트 의 요청 데이터 가 memcached 에 있 는 지 확인 하고 있 으 면 요청 데 이 터 를 직접 되 돌려 주 며 데이터 베 이 스 를 더 이상 조작 하지 않 습 니 다.경 로 는 ① ② ③ ⑦ 입 니 다.
2.요청 한 데이터 가 memcached 에 없 으 면 데이터 베 이 스 를 찾 아 데이터베이스 에서 가 져 온 데 이 터 를 클 라 이언 트 에 게 되 돌려 주 고 데이터 캐 시 를 memcached 에 한 부(memcached 클 라 이언 트 가 책임 지지 않 으 며 프로그램 이 명확 하 게 실현 되 어야 함)하 며 경 로 는 ① ② ④ ⑤ ⑦ ⑥ 이다.
3.캐 시의'신선 성'을 유지 하고 데이터 가 변 할 때마다(예 를 들 어 데이터 가 수정 되 거나 삭 제 된 경우)업 데 이 트 된 캐 시 정 보 를 동기 화하 여 사용자 가 캐 시 에서 오래된 데 이 터 를 찾 지 않도록 해 야 합 니 다.
3.Memcached 설치 설정
memcache 가 데 이 터 를 얼마나 저장 할 수 있 는 지 는 서버 자체 의 메모리 가 얼마나 큰 지 에 달 려 있다.
1.설치----서버 한 대 준비

[root@memcached ~]# yum install memcached -y
[root@memcached ~]# systemctl start memcached #  
2.프로필 수정

[root@memcached ~]# vim /etc/sysconfig/memcached
PORT="11211" ---     ,  11211.    
USER="memcached" -----  
MAXCONN="1024" -----    ,    
CACHESIZE="64" ------    。   M
OPTIONS="" ----       
그리고 ip 주 소 를 개발 자 에 게 보 내 고 개발 자 는 api 인터페이스 로 memcached 를 연결 합 니 다.
테스트:

[root@memcached ~]# yum install -y telnet #  telent
[root@memcached ~]# telnet 192.168.246.188 11211
Trying 192.168.246.188...
Connected to 192.168.246.188.
Escape character is '^]'.
set name 0 60 9 #     name key key    (id )        
helloword # name  
STORED #  stoped        。
get name #  key 
VALUE name 0 9
helloword
END
quit ---  
매개 변수 설명:
name:key 의 이름 은 스스로 정의 합 니 다.
0:key 의 id 번 호 는 다른 key 와 달라 야 합 니 다.
60:캐 시 만 료 시간,단 위 는 초,0 은 영원히
9:문자열 최대 길이
그것 을 사용 하지 않 는 이유:저 장 된 데이터 형식 이 단일 하고 데 이 터 는 메모리 에 만 저장 할 수 있 습 니 다.데이터 의 지속 성 을 실현 할 수 없습니다.서버 가 다시 시작 하면 데이터 가 사라 집 니 다.
=================================================================
확장:php 지원 memcached 를 설치 하 는 확장 모듈:
php 7.0 설치

[root@memcached ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
[root@memcached ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
[root@memcached ~]# yum -y install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64 php70w-devel zlib-devel php70w-fpm libmemcached php70w-pecl-memcached
[root@memcached ~]# yum install -y make gcc zlib-devel libmemcached-devel git
PHP Memcache 확장 팩 다운로드

  nginx ,  nginx yum 。    php   。
[root@memcached ~]# vim /etc/nginx/conf.d/nginx.conf
server {
 listen 80;
 server_name localhost;
​
 location ~ \.php$ {
 root /usr/share/nginx/html;
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_index index.php;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 include fastcgi_params;
 }
}
  php  
[root@memcached html]# vim /usr/share/nginx/html/index.php
<?php
phpinfo();
?>
  nginx
  php-fpm
     

Memcached 가 캐 시 서버 를 구축 하 는 방법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Memcached 캐 시 서버 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기