언제 Memcached 대신 Memcache를 사용해야 합니까?
PHP에는 memcache와 memcached라는 이름의 2개의 memcached 라이브러리가 있는 것 같습니다.차이점은 무엇이며 어떤 것을 사용해야 하는지 어떻게 알 수 있습니까?구식인가요?memcached는 더 많은 방법을 제공하고 있는 것 같습니다.그것은 가장 많은 개발이 이루어졌다는 것을 의미하지만, 외부 C/C++ 라이브러리가 필요한 것 같기 때문에 설치할 수 있을지 모르겠습니다.
memcache는 더 오래 사용되었고, 추가 라이브러리가 필요하지 않으며, 고른 윈도우를 위해 미리 컴파일된 이진 파일이 있는 것 같습니다.지금으로서는 그게 더 나을 것 같아요.그러나 memcached(서버)가 처음이라 memcached(php)에 매우 중요한 기능이 포함되어 있는지 잘 모르겠습니다.
Memcached 클라이언트 라이브러리는 최근에 안정된 상태로 출시되었습니다.이것은 digg에 의해 사용되고 있다(안드레이 Zmievski에 의해 digg용으로 개발되어 현재는 digg와 함께 사용되지 않는다). 그리고 오래된 memcache 클라이언트보다 훨씬 더 많은 memcache 프로토콜을 구현한다.memcached의 가장 중요한 기능은 다음과 같습니다.
- 캐스 토큰덕분에 생활이 훨씬 편해졌고 오래된 데이터를 쉽게 예방할 수 있었습니다.캐시에서 무언가를 꺼낼 때마다 캐쉬 토큰(이중 번호)을 수신할 수 있습니다.이 토큰을 사용하여 업데이트된 개체를 저장할 수 있습니다.스레드 실행 중에 다른 사용자가 값을 업데이트하지 않으면 스왑이 성공합니다.그렇지 않으면 새로운 cas 토큰이 생성되어 데이터를 새로고침하고 새 토큰과 함께 다시 저장해야 합니다.
- 콜백을 통해 읽는 것은 슬라이스 빵보다 더 좋은 것이다.내 코드의 많은 부분을 단순화했다.
- get Delayed()는 스크립트가 서버에서 결과가 반환될 때까지 기다리는 시간을 단축할 수 있는 편리한 기능입니다.
- memcached 서버는 매우 안정적이지만 가장 빠르지 않습니다.새 클라이언트에서는 ASCII 대신 이진 프로토콜을 사용할 수 있습니다.
- 복잡한 데이터를 memcached에 저장할 때마다 클라이언트는 항상 값의 시리얼라이제이션(느린 속도)을 실시했지만, memcached 클라이언트에서는 igbinary를 사용할 수 있게 되었습니다.지금까지 저는 이것이 얼마나 퍼포먼스를 향상시킬 수 있는지 테스트할 기회가 없었습니다.
이 모든 점들은 제가 최신 고객으로 바꾸기에 충분했고, 그것은 매력적으로 작용한다고 말할 수 있습니다.libmemcached 라이브러리에 대한 외부 의존이 있지만 Ubuntu와 Mac OSX에 설치할 수 있기 때문에 지금까지는 문제가 없습니다.
만약 당신이 새로운 라이브러리로 업데이트하기로 결정한다면 최신 서버 버전으로 업데이트하고 몇 가지 좋은 기능도 가지고 있는 것을 추천합니다.컴파일을 하려면 libevent를 설치해야 하는데 Ubuntu에서는 큰 문제가 없었습니다.
아직까지는 새로운 memcached 클라이언트를 픽업하는 프레임워크는 없지만(추적하고 있지는 않지만), Zend가 곧 합류할 것이라고 생각합니다.
갱신하다
Zend Framework 2에는 Memcached용 어댑터가 있습니다.이 어댑터는, 여기를 참조해 주세요.
Windows 를 사용하고 있는 경우는, 간단하게 비교할 수 있습니다.memcache
사용할 수 있는 유일한 클라이언트인 것 같습니다.
Memcached는 새로운 API입니다.또한 세션프로바이더로서 memcached를 제공하고 있습니다.서버 팜이 있는 경우 매우 편리합니다.
버전 0.2가 너무 낮아서 둘 다 써봤는데 큰 문제가 없어서 새 제품이라 memcached로 하겠습니다.
2013년입니다.2009년의 코멘트는 잊어 주세요.마찬가지로 심각한 트래픽 부하를 실행하고 있는 경우에는 윈도 기반의 memcache를 사용하는 방법은 고려조차 하지 마십시오.대규모 (500대 이상의 프론트 엔드 웹 서버)및 20대 이상의 백엔드 데이터베이스 서버와 리플리칸트(mysql 및 mssql 혼합)를 취급하는 경우, memcached 서버 팜(그룹 내 12대의 서버)은 초당 25,000~40,000 mc->get 콜에 응답하는 복수의 대용량 OLTP 애플리케이션을 지원합니다.이러한 콜은 데이터베이스에 도달할 필요가 없는 콜입니다.
IMHO는 이러한 memcached 사용을 통해 새로운 DB 서버 및 라이선스의 설비 투자 비용 및 대규모 상용 설계의 지원 계약을 $$$$ 절감했습니다.
언급URL : https://stackoverflow.com/questions/1442411/when-should-i-use-memcache-instead-of-memcached
'programing' 카테고리의 다른 글
JSON을 알파벳 순으로 첫 번째 문자로 정렬 (0) | 2022.09.13 |
---|---|
MariaDB: 위도 및 경도 점의 원형 반지름이 다각형과 교차하는지 확인 (0) | 2022.09.13 |
MariaDB Galera 클러스터: 운영 서버에서 wresp_sst_method 변경 (0) | 2022.09.13 |
PHP/Larabel을 사용하여 MySQL/MariaDB에서 모든 POI를 얻는 데 더 빠른 접근 방식은 무엇입니까? (0) | 2022.09.13 |
...에 대한 작업이 정의되지 않았을 수 있습니다. (0) | 2022.09.13 |