Redis에 대 한
2009 년에 개발한 redis 유연한, 오픈 소스, 키 값 데이터 저장소입니다. 카산드라, CouchDB, MongoDB 등 다른 NoSQL 데이터베이스의 발자취 Redis 사용자를 방대한 양의 데이터는 관계형 데이터베이스의 제한 없이 저장할 수 있습니다. 또한, memcache를 또한 비교 하 고 지 속성 캐시로 기본 요소와 함께 사용할 수 있습니다.
설치
Redis를 설치 하기 전에 필수 구성 요소 설치를 가능한 한 쉽게 만들기 위해 다운로드 해야 하는 몇 가지가 있다.
모두 apt-get은 패키지를 업데이트 하 여 시작:
1 |
sudo apt-get update |
프로세스가 완료 되 면 다운로드 우리에 게 도움이 될 것 입 빌드 에센셜 컴파일러 설치 원본의 Redis:
1 |
sudo apt-get install build-essential |
프로세스가 완료 되 면 다운로드 우리에 게 도움이 될 것 입 빌드 에센셜 컴파일러 설치 원본의 Redis:
1 |
sudo apt-get install tcl8.5 |
Redis를 설치
모든 필수 구성 요소 및 종속 서버에 다운로드, 우리 전진할 수 있고 원본의 redis를 설치 하기 시작:
Google 코드에서 타르를 다운로드 합니다. 최신 안정 버전 2.8.9입니다.
1 |
wget http://download.redis.io/releases/redis-2.8.9.tar.gz |
Untar it and switch into that directory:
1 |
tar xzf redis-2.8.9.tar.gz |
1 |
cd redis-2.8.9 |
Proceed to with the make command:
1 |
make |
Run the recommended make test:
1 |
make test |
Finish up by running make install, which installs the program system-wide.
1 |
sudo make install |
일단 프로그램을 설치 Redis Redis 백그라운드 데몬으로 실행 설정에 내장 된 스크립트와 함께 제공.
액세스 하는 스크립트 유틸리티 디렉토리로 이동:
1 |
cd utils |
From there, run the Ubuntu/Debian install script:
1 |
sudo ./install_server.sh |
스크립트가 실행 될 때 입력 하는 키를 눌러 기본 옵션을 선택할 수 있습니다. 스크립트가 완료 되 면 redis 서버 백그라운드에서 실행 됩니다.
시작 하 고이 명령과 함께 redis를 중지 (포트 중 설치. 설정에 따라 다릅니다 6379 기본 포트 설정입니다):
1 2 |
sudo service redis_6379 start sudo service redis_6379 stop |
You can then access the redis database by typing the following command:
1 |
redis-cli |
You now have Redis installed and running. The prompt will look like this:
1 |
redis 127.0.0.1:6379> |
To set Redis to automatically start at boot, run:
1 |
sudo update-rc.d redis_6379 defaults |
Redis 작업
간단한 명령 정보 문자열 (가장 기본적인 redis 데이터 형식)를 추가 하는 다음과 같이 수 있습니다.
1 2 |
> SET users:GeorgeWashington "job: President, born:1732, dislikes: cherry trees" OK |
이 경우 명령 집합 뒤에 (사용자: GeorgeWashington), 키 및 다음 값 (문자열 자체)
Redis에 콜론 작업에 아무런 베어링이 있다. 그러나, 그들은 가득 하 키 설명에 유용할 수 있습니다.
“GET” 명령 사용 하 여 새 문자열의 세부 정보를 검색할 수 있습니다.
1 2 |
GET users:GeorgeWashington "job: President, born:1732, dislikes: cherry trees" |
범위:
데이터를 검색할 때 2 매개 변수 범위를 정의할 수 있습니다: 첫 번째 및 마지막 요소 (첫 번째 요소는 0 간주 됩니다). End 매개 변수에-1 인 경우 목록 끝에 통해 모든 요소가 포함 됩니다. 예를 들어 목록 (고전적인 ROYGBV로 배열 되는) 무지개의 6 색깔 들어 있는 경우 다음과 같은 결과 볼 수 있을 거 야:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
LRANGE ROYGBV 0 3 1) "red" 2) "orange" 3) "yellow" 4) "green" > LRANGE ROYGBV 0 -1 1) "red" 2) "orange" 3) "yellow" 4) "green" 5) "blue" 6) "violet" > LRANGE ROYGBV 3 -1 1) "green" 2) "blue" 3) "violet" |
만료:
Redis 매우 정보를 저장 하는 데 도움이 하는 동안 체계적으로 만료 데이터 또한 사용할 수 있습니다.
초 또는 유닉스 타임 스탬프 (1/1/1970 년 이후 초)과 키 존재 해야 하는 시간을 지정할 수 있습니다. 만료를 제어할 수 있는 두 가지 유용한 명령 키 존재 한다 시간의 길이 설정 합니다, 만료 되며 TTL, 키 만료 되기 전에 남은 시간을 표시 합니다.
1 2 3 4 5 6 |
> SET classified:information "Secret Stuff" OK > EXPIRE classified:information 45 (integer) 1 > TTL classified:information (integer) 31 |
Attempting to retrieve the information after it has expired results in “nil”
1 2 |
> GET classified:information (nil) |
만료:
Redis 매우 정보를 저장 하는 데 도움이 하는 동안 체계적으로 만료 데이터 또한 사용할 수 있습니다.
초 또는 유닉스 타임 스탬프 (1/1/1970 년 이후 초)과 키 존재 해야 하는 시간을 지정할 수 있습니다. 만료를 제어할 수 있는 두 가지 유용한 명령 키 존재 한다 시간의 길이 설정 합니다, 만료 되며 TTL, 키 만료 되기 전에 남은 시간을 표시 합니다.
1 2 3 4 5 6 |
> SET population 6 OK > INCRBY population 10 (integer) 16 > INCR population (integer) 17 |
트랜잭션:
Redis 또한 두 주체: 1을 준수 해야 거래를 수행 하는 기능을가지고) 명령 순서 대로 수행 해야 합니다. 그들은 중단 되지 프로세스 동안 다른 요청에 의해. 2) 트랜잭션은 전체적으로 처리 해야 합니다.
거래 멀티 명령으로 시작 되며 그 후 EXEC 명령을 사용 하 여 실행.
무엇 인가 이유로, 프로세스를 방해 하는 서버에 문제가 있다 하 고 트랜잭션이 종료 됩니다, Redis 명령까지 다시 시작에서 그것을 차단 오류가 발생 합니다, 경우 edis 체크 aof 실행 되 고 일부 트랜잭션 실행 취소 및 제거.
그 후, 서버를 다시 시작할 수 있을 것입니다.
> 멀티
괜찮았던 것
> 세트 인구 6
큐에 대기
> INCRBY 인구 10
큐에 대기
> INCR 인구
큐에 대기
127.0.0.1:6379 redis > 간부
1) 확인
2) (정수) 16
3) (integer) 1
4) (정수) 17
Redis 데이터 형식
Redis는 5 개의 데이터 형식: 문자열, 세트, 정렬 집합, 목록, 해시
문자열
문자열은 Redis’ 가장 기본적인 데이터 유형입니다.
문자열과 관련 된 몇 가지 일반적인 명령을 다음과 같습니다.
세트: 키 값을 설정합니다.
GET: 키에서 값을 가져옵니다.
델: 키 및 값 삭제
INCR: 개별적으로 키를 증가 시킵니다.
INCRBY: 지정 된 값으로 키를 증가 시킵니다.
만료: 시간의 길이 키가 존재 해야 하는 (초에서 표시 됨)
문자열 키 배열 개체를 저장 하는 데 사용할 수 있습니다.
예를 들어:
> 설정 newkey “redis 문자열 시작”
괜찮았던 것
> Newkey 얻을
“redis 문자열 시작“
세트
문자열을 결합 하려면 그 REDIS 순서가 지정 되지 않은 문자열의 컬렉션을 설정 합니다 할 수 있습니다.
집합에 대 한 몇 가지 일반적인 명령을 다음과 같습니다.
사 드: 추가 또는 구성원 집합을
SMEMBERS: 모든 설정된 회원을 받을
화: 여러 집합의 교집합을 찾아
SISMEMBER: 값 집합에 있는지 확인
SRANDMEMBER: 임의 설정된 구성원 얻을
세트는 다양 한 상황에서에서 유용할 수 있습니다. 집합의 각 구성원이 고유 하기 때문에, 집합에 구성원을 추가 “체크 후 추가” 작업이 필요 하지 않습니다. 대신 세트 사 드 명령 수행 될 때마다 항목이 중복 인지 확인 합니다.
> 사 드 색상 레드
(정수) 1
redis 127.0.0.1:6379 > 사 드 오렌지 색상
(정수) 1
redis 127.0.0.1:6379 > 사 드 옐로우 색상
(정수) 1
redis 127.0.0.1:6379 > 사 드 오렌지 색상
(정수) 0
127.0.0.1:6379 redis > SMEMBERS 색상
1) “레드”
2) “노란색”
3) “오렌지”
세트 특히 유용할 수 있습니다, 예를 들면, 검사에서 고유한 IP 주소 페이지를 방문 하거나 무작위로 SRANDMEMBER 명령 사용 하 여 요소를 추출 합니다.
정렬 된 세트
정렬 된 세트는 직관적인 이름: 문자열 숫자와 관련 된 컬렉션 이며, 기본적으로 최소한의 순서로 배열에 가장 큰.
이 데이터 형식 범위, 잘 작동 하 고, 그들은 처음부터 주문 된다, 때문에 추가, 제거 하거나 값을 업데이트 할 수 있습니다 신속 하 게.
정렬 된 집합에 대 한 몇 가지 일반적인 명령을 다음과 같습니다.
ZADD: 정렬된 된 집합에 구성원 추가
ZRANGE: (낮은 높이 기본값) 인덱스에 의해 정렬 하는 정렬된 된 집합의 멤버를 표시 합니다.
ZREVRANGE: (높은 순)에서 인덱스에 의해 정렬 된 집합의 멤버를 표시 합니다.
ZREM: 정렬된 된 집합에서 멤버 제거
우리는 세계에서 가장 작은 국가 (평방 마일)에 있는 크기와 정렬 샘플 세트를 만들 수 있습니다.
> zadd 국가 9 투발루
(정수) 1
> zadd 국가 62 리히텐슈타인
(정수) 1
> zadd 국가 7 모나코
(정수) 1
> zadd 국가.2 VaticanCity
(정수) 1
> zadd 국가 107 세이셸
(정수) 1
127.0.0.1:6379 redis > zrange 국가 0-1
1) “VaticanCity”
2) “모나코”
3) “투발루”
4) “리히텐슈타인”
5) “세이셸”
목록
Redis에 목록은 순서가 지정 된 값의 컬렉션입니다. 이 정렬 되지 않은 집합 대조. 추가할 수 있습니다 요소 시작 또는 목록의 끝에 (경우에 10만 이상의 요소 목록에서) 엄청난 스피드와 함께.
리스트와 관련 된 몇 가지 일반적인 명령을 다음과 같습니다.
LPUSH: 목록이 시작 되는 시점에 값을 추가
RPUSH: 목록 끝에 값을 추가
LPOP: 하 고 목록에서 첫 번째 요소를 제거
RPOP: 고 목록에 있는 마지막 요소를 제거
LREM: 목록에서 요소를 제거
LRANGE: 목록에서 요소의 범위를 얻을
LTRIM: 목록 수정 그래서 지정된 된 범위를 두고
가지고 점심 각 주에 할당 된 사람의 목록을 만들 수 있습니다.
> rpush lunch.provider 앨리스
(정수) 1
> rpush lunch.provider 밥
(정수) 2
> rpush lunch.provider 캐롤
(정수) 3
> rpush lunch.provider 돈
(정수) 4
> rpush lunch.provider 에밀리
(정수) 5
우리 큐의 앞에 사람을 밀어 싶 었 어 요, LPUSH 명령 수 사용:
lpush lunch.provider 조
(정수) 6
LRANGE 명령 다음 우리의 전체 목록 표시:
lrange lunch.provider 0-1
1) “조이”
2) “앨리스”
3) “밥”
4) “캐롤”
5) “돈”
6) “에밀리”
목록은 자주 이벤트의 타임 라인을 만들거나 유지 제한 된 수의 요소를 컬렉션을 사용할 수 있습니다.
해시
Redis에서 해시 많은 필드 개체를 나타내는 데 유용한 도구입니다. 그들은 방대한 분야의 작은 공간에 저장 하는 데 설정 되어 있습니다. 해시 4 억 이상의 필드-값 쌍을 저장할 수 있습니다.
Leave a Reply