Redis 설치 및 설정 안내
5961 단어 redis
redis 는 고성능 키 - value 데이터베이스 입 니 다.redis 의 등장 은 memcached 와 같은 keyvalue 저장 의 부족 을 어느 정도 보상 하고 일부 상황 에서 관계 데이터 베이스 에 좋 은 보충 역할 을 할 수 있 습 니 다.Python, Ruby, Erlang, PHP 클 라 이언 트 를 제공 하여 사용 하기에 편리 합 니 다.문 제 는 이 프로젝트 가 아직 새 롭 고 안정 적 이지 않 을 수도 있 으 며 실제 대형 시스템 에서 응 용 된 사례 가 없다 는 것 이다.그 밖 에 mc 에서 대량 get 이 부족 한 것 도 비교적 큰 문제 이다. 처음부터 끝까지 대량으로 얻 는 것 은 여러 번 얻 은 네트워크 비용 과 다르다.
성능 테스트 결과:
SET 작업 은 초당 110000 회, GET 작업 은 초당 81000 회, 서버 설정 은 다음 과 같 습 니 다.
Linux 2.6, Xeon X3320 2.5Ghz.
stackoverflow 사 이 트 는 Redis 를 캐 시 서버 로 사용 합 니 다.
설치 과정:
Redis 는 고급 key - value 데이터베이스 입 니 다.이것 은 memcached 와 유사 하지만 데 이 터 는 지속 적 이 고 지원 하 는 데이터 형식 이 풍부 합 니 다.문자열, 링크, 집합 과 질서 있 는 집합 이 있 습 니 다.서버 에서 집합 을 계산 하 는 것 을 지원 하고, 제출 과 보충 집합 (difference) 등 을 지원 하 며, 다양한 정렬 기능 도 지원 합 니 다.그래서 레 디 스 도 데이터 구조 서버 로 볼 수 있다.
Redis 의 모든 데 이 터 는 메모리 에 저 장 된 다음 비정 기적 으로 비동기 방식 으로 디스크 에 저 장 됩 니 다 (이것 은 '반 지구 화 모드' 라 고 합 니 다).모든 데이터 변 화 를 하나의 append only file (aof) 에 기록 할 수도 있 습 니 다.
최신 버 전 다운로드
wget http://redis.googlecode.com/files/redis-2.0.0-rc4.tar.gz
2. 압축 풀기
tar redis-2.0.0-rc4.tar.gz
3. C / C + + 의 컴 파일 구성 요 소 를 설치 합 니 다 (필요 하지 않 음)
apt-get install build-essential
번역
cd redis-2.0.0-rc4 make
make 명령 이 실 행 된 후 현재 디 렉 터 리 에서 실행 가능 한 파일 을 생 성 합 니 다. 각각 redis - server, redis - cli, redis - benchmark, redis - stat 입 니 다. 그들의 역할 은 다음 과 같 습 니 다.
redis - server: Redis 서버 의 daemon 시작 프로그램 redis - cli: Redis 명령 행 조작 도구 입 니 다.물론 telnet 로 일반 텍스트 프로 토 콜 에 따라 조작 할 수도 있 습 니 다 redis - benchmark: Redis 성능 테스트 도구, Redis 가 시스템 및 설정 에서 의 읽 기와 쓰기 성능 테스트 redis - stat: Redis 상태 검사 도구, Redis 현재 상태 파라미터 및 지연 상 태 를 검사 할 수 있 습 니 다.
뒤에 이 몇 가지 명령 의 설명 이 있 을 것 이다. 당연히 인터넷 에서 베 낀 것 이다.
5. 프로필 수정
/etc/sysctl.conf
덧붙이다
vm.overcommit_memory=1
설정 새로 고침 이 적 용 됩 니 다.
sysctl vm.overcommit_memory=1
추가 소개:
**메모리 상태 가 부족 하면 커 널 인 자 를 설정 해 야 합 니 다: echo 1 > / proc / sys / vm / over commitmemory
커 널 매개 변 수 는 다음 과 같다.
overcommit_메모리 파일 은 메모리 할당 정책 을 지정 합 니 다. 값 은 0, 1, 2 일 수 있 습 니 다.0. 커 널 이 사용 가능 한 메모리 공급 프로 세 스 가 있 는 지 확인 합 니 다.사용 가능 한 메모리 가 충분 하 다 면 메모리 신청 이 허 용 됩 니 다.그렇지 않 으 면 메모리 신청 이 실 패 했 고 오 류 를 응용 프로 세 스에 되 돌려 줍 니 다.1. 커 널 은 현재 메모리 상태 가 어떻든 간 에 모든 물리 적 메모 리 를 분배 할 수 있 음 을 나타 낸다.2. 커 널 은 모든 물리 적 메모리 와 교환 공간 을 합 친 메모 리 를 초과 할 수 있 음 을 나타 낸다.
**redis. conf 설정 파일 (/ etc / redis. conf) 을 편집 하고 필요 에 따라 적당 한 조정 을 합 니 다. 예 를 들 어 daemonize yes \ # 데 몬 으로 전환 하지 않 으 면 시작 할 때 5 초 마다 모니터링 정 보 를 한 줄 씩 출력 합 니 다 save 60 1000 \ # 변경 횟수 를 줄 일 수 있 습 니 다. 사실 이것 은 상황 에 따라 max memory 25600000 \ # 256 M 메모 리 를 할당 할 수 있 습 니 다.
Redis 를 성공 적 으로 설치 한 후에 저 희 는 redis - server 를 직접 실행 하면 Redis 를 실행 할 수 있 습 니 다. 이 때 는 기본 설정 에 따라 실 행 됩 니 다 (기본 설정 은 배경 이 아 닙 니 다).우 리 는 Redis 가 우리 의 요구 에 따라 실행 되 기 를 바 랍 니 다. 우 리 는 설정 파일 을 수정 해 야 합 니 다. Redis 의 설정 파일 은 바로 우리 위의 두 번 째 cp 에서 작 동 하 는 redis. conf 파일 입 니 다. 현재 이것 은 우리 가 / usr / local / redis / etc / 디 렉 터 리 로 복사 되 었 습 니 다.그것 을 수정 하면 우리 의 server 를 설정 할 수 있 습 니 다.어떻게 수정 합 니까?다음은 redis. conf 의 주요 설정 매개 변수의 의미 입 니 다.
daemonize: 나중에 daemon 방식 으로 실행 할 지 여부 pidfile: pid 파일 위치 port: 감청 포트 번호 timeout: 시간 초과 요청 loglevel: log 정보 등급 logfile: log 파일 위치 databases: 데이터베이스 오픈 수량 save * *: 스냅 샷 을 저장 하 는 빈도, 첫 번 째 * 는 시간 을 표시 하고 세 번 째 * 는 쓰기 동작 을 몇 번 수행 하 는 지 표시 합 니 다.일정 시간 동안 일정 수량의 쓰기 작업 을 수행 할 때 스냅 샷 을 자동 으로 저장 합 니 다.여러 조건 을 설정 할 수 있 습 니 다.
rdbcompression: 압축 사용 여부 dbfilename: 데이터 스냅 샷 파일 이름 (파일 이름 일 뿐 디 렉 터 리 포함 되 지 않 음) dir: 데이터 스냅 샷 의 저장 디 렉 터 리 (이것 은 디 렉 터 리) appendonly: appendonlylog 를 열 지 여부 입 니 다. 열 리 면 매번 쓰기 동작 에 log 를 기록 합 니 다. 이것 은 데이터 위험 저항 능력 을 향상 시 키 지만 효율 에 영향 을 줍 니 다.
appendfsync: appendonlylog 는 디스크 에 어떻게 동기 화 합 니까?
다음은 약간 수 정 된 프로필 내용 입 니 다.
daemonize yes
pidfile /usr/local/redis/var/redis.pid
port 6379
timeout 300
loglevel debug
logfile /usr/local/redis/var/redis.log
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
dir /usr/local/redis/var/
appendonly no
appendfsync always
glueoutputbuf yes
shareobjects no
shareobjectspoolsize 1024
위 내용 을 redis. conf 라 고 쓰 고 / usr / local / redis / etc / 디 렉 터 리 에 저장 합 니 다.
그리고 명령 행 에서 실행:
1
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
백 스테이지 에서 redis 서 비 스 를 시작 할 수 있 습 니 다. 이 때 통과 합 니 다.
1
telnet 127.0.0.1 6379
당신 의 redis 서비스 에 연결 할 수 있 습 니 다.
6. 서비스 시작 및 검증
시작 서버
./redis-server
혹시
$redis-server /etc/redis.conf
성공 적 으로 시 작 했 는 지 확인
$ ps -ef | grep redis
혹시
./redis-cli ping PONG
7. 시작 명령 행 클 라 이언 트 할당 값
redis-cli
set mykey somevalue
./redis-cli get mykey
8. 서비스 종료
$ redis-cli shutdown
\ # 지정 한 포트 의 redis - server 를 닫 습 니 다.
$redis-cli -p 6380 shutdown
9. 클 라 이언 트 도 telnet 형식 으로 연결 할 수 있 습 니 다.
[root@dbcache conf]# telnet 127.0.0.1 6379 Trying 127.0.0.1... Connected to dbcache (127.0.0.1). Escape character is '^]'. set foo 3 bar +OK get foo $3 bar ^] telnet> quit Connection closed.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redis 해시에 대한 완벽한 가이드변경 가능하므로 필요에 따라 쉽게 변경하고 업데이트할 수 있습니다. Redis 해시는 구조가 평평하므로 JSON에서와 같이 여러 수준을 가질 수 없습니다. redis 해시의 명명 규칙은 hash:key 로 입력되므로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.