코어 포인트
redis는 내장 데이터 유형 덕분에 간단한 키 값 저장소보다 훨씬 많은 인기있는 오픈 소스 데이터 구조 서버입니다. 대기업에서 널리 사용되며 세션 핸들러로 사용하거나 온라인 채팅 또는 라이브 예약 시스템을 만들 수 있습니다.
Redis 및 Memcache는 기본 작업 측면에서 유사하게 수행되지만 Redis는 메모리 및 디스크 지속성, 원자 명령 및 트랜잭션 및 서버 측 데이터 구조와 같은 더 많은 기능을 제공합니다.
Predis는 PHP 개발자가 PHP 코드를 사용하여 REDIS와 상호 작용할 수있는 유연하고 완벽하게 기능적인 PHP Redis Client Library입니다. 트랜잭션, 파이프 라인 및 클러스터를 포함한 다양한 Redis 기능을 지원합니다. -
Redis 명령에는 SET, GET, 존재 (임시 정보 저장 및 확인), 차원, 하급 (카운터 유지), HET, HGET, HINCRBY 및 HDEL (해시 데이터 유형 처리) 및 만료, EXPIREAT, TTL 및 SERIST (데이터 관리)가 포함됩니다.
-
redis는 내장 데이터 유형으로 인해 간단한 키 값 스토리지보다 훨씬 더 많이 기능하는 메모리 데이터 세트가있는 오픈 소스 데이터 구조 서버입니다. 2009 년 Salvatore Sanfilippo에 의해 시작되었으며 VMware (나중에 Sanfilippo를 고용하여 Github, Craigslist, Disqus, Digg, Blizzard, Instagram 및 기타 대기업에 의해 선정되었습니다). Redis를 세션 핸들러로 사용할 수 있습니다.로드 밸런서 뒤에 멀티 서버 아키텍처를 사용하는 경우 특히 유용합니다. Redis에는 또한 게시/구독 시스템이 있으며 온라인 채팅 또는 라이브 구독 시스템을 작성하는 데 이상적입니다. Redis 및 모든 명령에 대한 문서 및 자세한 내용은 프로젝트 웹 사이트 Redis.io를 방문하십시오. 어떤 Redis 또는 Memcache가 더 나은지에 대한 많은 논쟁이 있지만, 벤치 마크가 보여 주듯이, 그들은 기본 운영 측면에서 거의 동일하게 수행합니다. Redis는 메모리 및 디스크 지속성, 원자 명령 및 트랜잭션과 같은 Memcache보다 더 많은 기능을 가지고 있으며 모든 변경 사항을 디스크에 로그인하는 대신 서버 측 데이터 구조를 대신 사용하십시오. 이 기사에서는 Predis 라이브러리를 사용하여 Redis가 제공하는 기본이지만 강력한 명령에 대해 배우게됩니다.
- 설치하기 쉬운
-
Redis는 설치가 쉽고 간단한 설치 지침이 제품의 다운로드 페이지에 게시됩니다. 내 경험상, Ubuntu를 실행하는 경우 TCL을 설치하지 않은 경우 오류가 발생합니다 (Sudo apt-Get 설치 TCL을 실행). Redis를 설치 한 후 서버를 실행할 수 있습니다 :
Redis 클라이언트 라이브러리는 Redis 웹 사이트에 나열된 여러 언어로 제공되며 각 언어는 일반적으로 여러 언어로 제공됩니다! PHP의 경우 5 개가 있습니다. 이 기사에서는 Predis 라이브러리를 사용 하겠지만 PHP 모듈로 컴파일되고 설치된 Phpredis에 대해 알고 싶을 수도 있습니다. 내가했던 것처럼 컴퓨터에 git을 설치 한 경우 Predis 저장소를 복제합니다. 그렇지 않으면 zip 아카이브를 다운로드하여 압축을 풀어야합니다.
gafitescu@ubun2:~$ /usr/local/bin/redis-server
* The server is now ready to accept connections on port 6379
로그인 후 복사
로그인 후 복사
로그인 후 복사
모든 것을 테스트하려면 Fredis를 사용하여 실행중인 Redis 서버에 성공적으로 연결할 수 있는지 테스트하기 위해 다음과 같은 Test.php 파일을 만듭니다.
실행하면 "Redis에 성공적으로 연결된"메시지가 표시됩니다.
<🎜 🎜> <<> Redis 사용 <🎜 🎜> <🎜 🎜>
<,>이 섹션에서는 Redis가 제공하는 대부분의 일반적으로 사용되는 명령을 간략하게 설명합니다. Memcache는 대부분의 명령에 해당하는 것이므로 Memcache에 익숙하다면이 목록은 익숙해 보일 것입니다. gafitescu@ubun2:~$ git clone git://github.com/nrk/predis.git
로그인 후 복사
<<> 세트, get and 존재
<🎜 🎜>
Redis에서 가장 일반적으로 사용되는 명령은 설정, 얻기 및 존재합니다. 이 명령을 사용하여 일반적으로 키 가치 방식으로 여러 번 액세스 할 임시 정보를 저장하고 확인할 수 있습니다. 예를 들면 :
set () 메소드는 값을 특정 키로 설정하는 데 사용됩니다. get () 메소드는 키의 값을 검색 하며이 경우 "hello_world"입니다. Exists () 메소드는 제공된 키가 Redis Store에서 발견되는지 여부를보고합니다. 키는 영숫자 문자 및 밑줄로 제한되지 않습니다. 다음은 유효합니다 :
<🎜 🎜> <<> incr (incrby) 및 det (detby) <🎜 <🎜 <🎜 🎜>
exc and det 명령은 값을 증가시키고 줄이는 데 사용되며 카운터를 유지하는 좋은 방법입니다. 값을 증가시키고 감소/값을 1로 줄이십시오. 예는 다음과 같습니다.
<<> Redis Data Type <🎜 🎜>
앞에서 언급했듯이 Redis에는 내장 데이터 유형이 있습니다. Redis와 같은 NOSQL 키 값 저장 시스템에 데이터 유형을 갖는 것이 이상하다고 생각할 수도 있지만 개발자가 정보를보다 효율적으로 구성하고 특정 작업을 수행하는 데 유용합니다. 이는 일반적으로 데이터를 입력 할 때 더 빠릅니다. Redis의 데이터 유형은 다음과 같습니다
String- Redis에서 사용되는 기본 데이터 유형으로, 전체 파일의 내용에 소수의 문자를 저장할 수 있습니다.
목록 - 요소가 삽입되는 순서대로 배열 된 간단한 문자열 목록. 목록의 헤드와 꼬리에서 요소를 추가하고 제거 할 수 있으므로이 데이터 유형을 사용하여 큐를 구현할 수 있습니다.
Collection- 회원의 존재를 추가, 삭제 및 테스트 할 수있는 정렬되지 않은 문자열 모음. 유일한 제약은 중복 멤버를 허용하지 않는다는 것입니다. <?php
require "predis/autoload.php";
PredisAutoloader::register();
// 由于我们连接到默认设置localhost
// 和6379端口,因此无需额外的
// 配置。如果不是,则可以将
// 方案、主机和端口指定为数组
// 传递给构造函数。
try {
$redis = new Predis\Client();
/*
$redis = new Predis\Client(array(
"scheme" => "tcp",
"host" => "127.0.0.1",
"port" => 6379));
*/
echo "Successfully connected to Redis";
}
catch (Exception $e) {
echo "Couldn't connected to Redis";
echo $e->getMessage();
}
로그인 후 복사
정렬 세트 - 수집 데이터 유형의 특정 사례. 차이점은 각 멤버에게 가장 작은 점수에서 최대 점수로 세트를 정렬하는 데 사용되는 관련 점수가 있다는 것입니다.
지금까지 나는 문자열 만 시연했지만 다른 데이터 유형의 데이터를 쉽게 사용하기 쉽게하는 몇 가지 명령이 있습니다. <?php
$redis->set("hello_world", "Hi from php!");
$value = $redis->get("hello_world");
var_dump($value);
echo ($redis->exists("Santa Claus")) ? "true" : "false";
로그인 후 복사
<🎜 🎜> <<> HSET, HGET 및 HGETALL, HINCRBY 및 HDEL <🎜 🎜>
이 명령은 해시 데이터 유형의 redis를 처리하는 데 사용됩니다.
HSET - 해시 객체에서 키 값을 설정합니다. -
hget- 해시 객체에서 키 값을 얻으십시오.
hincrby— 지정된 값을 사용하여 해시 객체의 키의 값을 확보하십시오. -
< -> hdel- 객체에서 키를 제거하십시오.
< -> hgetall- 객체의 모든 키와 데이터를 얻으십시오. -
여기서 사용법을 보여주는 예입니다.
-
<🎜 🎜> <<> 요약
-
이 기사에서는 Redis 명령의 짧은 목록 만 다루었지만 Redis 웹 사이트에서 전체 명령 목록을 볼 수 있습니다. 실제로, Redis는 단순히 Memcache를 대체하는 것 이상의 것을 제공합니다. Redis는 지속될 것입니다. 커뮤니티가 점점 커지고 모든 주요 언어를 지원하며 마스터 슬레이브 복제를 통해 지속성과 고 가용성을 제공합니다. Redit은 오픈 소스이므로 C 언어 전문가 인 경우 Github에서 소스 코드를 포크하고 기고자가 될 수 있습니다. 프로젝트 웹 사이트보다 더 많은 것을 배우려면 두 가지 우수한 Redis 책인 Redis Cookbook과 Redis : The Definitive Guide를 확인하는 것을 고려할 수 있습니다.
<<> PHP <🎜 <🎜 🎜>에서 Redis에 대한 질문이 자주 묻습니다
gafitescu@ubun2:~$ /usr/local/bin/redis-server
* The server is now ready to accept connections on port 6379
로그인 후 복사
로그인 후 복사
로그인 후 복사
<<> PHP에서 Predis와 Redis를 사용하는 주요 목적은 무엇입니까? <<>
Predis는 유연하고 완벽하게 기능적인 PHP Redis 클라이언트 라이브러리입니다. PHP 개발자는 PHP 코드를 사용하여 Redis와 상호 작용할 수 있으므로 PHP 응용 프로그램에서 Redis를보다 쉽게 사용할 수 있습니다. Predis는 Redis를 처리 할 수있는 간단하고 직관적 인 API를 제공하며 트랜잭션, 파이프 라인 및 클러스터를 포함한 다양한 Redis 기능을 지원합니다. PHP 개발자는 Predis를 사용하여 Redis 서버와 직접 상호 작용하는 복잡성을 처리하지 않고도 응용 프로그램에서 Redis의 힘을 활용할 수 있습니다.
PHP 프로젝트에 Predis를 설치하는 방법은 <🎜 🎜> <<>? <<>
Composer (PHP의 종속성 관리 도구)를 사용하여 PHP 프로젝트에 Predis를 쉽게 설치할 수 있습니다. 프로젝트의 루트 디렉토리에서 다음 명령을 실행하여 Predis를 설치할 수 있습니다. 이 명령은 Predis의 최신 안정적인 버전과 그 종속성을 프로젝트에 다운로드하여 설치합니다.
<<> Predis를 사용하여 Redis 서버에 연결하는 방법은 무엇입니까?
<<>
predis를 사용하여 Redis 서버에 연결하려면 Predisclient 클래스의 새 인스턴스를 생성하고 연결 매개 변수를 생성자로 전달해야합니다. 연결 매개 변수는 Redis Server URI를 나타내는 문자열 또는 연결 옵션을 포함하는 연결 배열 일 수 있습니다. 예는 다음과 같습니다.
-
이 예에서 클라이언트는 LocalHost 포트 6379에서 실행되는 Redis 서버에 연결합니다.
<🎜 🎜> <<> Predis를 사용하여 Redis 명령을 실행하는 방법은 무엇입니까?
<<>
predis는 모든 Redis 명령을 실행하는 방법을 제공합니다. 이 메소드는 명령 매개 변수를 매개 변수로 받아들이는 해당 Redis 명령의 이름을 따서 명명되었습니다. 예를 들어, redis에서 키 값 쌍을 설정하려면 다음과 같이 세트 메소드를 사용할 수 있습니다.
키의 값을 얻으려면 get 메소드를 사용할 수 있습니다.gafitescu@ubun2:~$ /usr/local/bin/redis-server
* The server is now ready to accept connections on port 6379
로그인 후 복사
로그인 후 복사
로그인 후 복사
predis에서 오류를 처리하는 방법은 무엇입니까? -
predis는 Redis 명령이 실패하면 예외가 발생합니다. 이러한 예외는 사전 대응 서버 렉스 션 클래스 또는 하위 클래스의 사례입니다. 이러한 예외를 포착하고 코드에서 오류를 처리 할 수 있습니다. 예는 다음과 같습니다.
이 예에서는 설정 명령이 실패하면 캐치 블록이 실행되고 오류 메시지가 인쇄됩니다.
(다른 질문에 대한 답변은 문구가 약간 조정되었으며 여기서는 반복하지 않는다는 점을 제외하고는 이전 출력과 유사합니다)
.
위 내용은 predis를 사용하여 PHP의 Redis 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!