수색…


비고

이 섹션에서는 Redis의 개념과 개발자가 왜 그것을 사용하고 싶어하는지에 대한 개요를 제공합니다.

또한 Redis 내의 모든 큰 주제를 언급하고 관련 주제에 링크해야합니다. Redis의 설명서는 새로운 기능이므로 해당 관련 항목의 초기 버전을 만들어야 할 수 있습니다.

버전

번역 출시일
3.2.3 2016-08-02
3.2.2 2016-07-28

개요

Redis는 고성능, 복제 및 고유 한 데이터 모델을 제공하여 문제를 해결하기위한 플랫폼을 생성하는 인 메모리 원격 데이터베이스입니다. Redis는 데이터베이스, 캐시 및 메시지 브로커로 사용되는 오픈 소스 (BSD 라이센스), 메모리 내 데이터 구조입니다. NoSQL 키 - 값 저장소로 분류됩니다. 반경 쿼리를 사용하여 문자열, 해시, 목록, 세트, ​​범위 쿼리, 비트 맵, 하이퍼 로그 로그 및 지형 공간 인덱스가있는 정렬 된 세트와 같은 데이터 구조를 지원합니다. 다섯 가지 유형의 데이터 구조를 지원하며,

  1. STRING (전체 문자열, 부분, 정수 및 부동 소수점에 대해 연산)
  2. 목록 (양쪽에서 푸시 또는 팝 항목)
  3. SET (추가, 가져 오기, 제거, 확인, 교차, 합집합, 차이 등)
  4. HASH (저장, 패치, 해시로 제거)
  5. ZSET (세트와 동일하지만 순서대로)
  6. GEO (위도 및 경도 추가, 업데이트, 삭제, 주어진 redius 내에서 가져 오기)

Redis는 내장 된 복제, Lua 스크립팅, LRU 축출, 트랜잭션 및 다른 수준의 디스크 지속성 (동기화 / 비동기)을 제공합니다.

버전 3 이전의 Redis는 마스터 - 슬레이브 모드로 작동하고 Redis-Sentinel은 고 가용성을 제공해야했습니다. 마스터는 포킹을 통해 슬레이브에 데이터를 쓰고 동기화합니다.

버전 3부터 Redis는 페일 오버, 샤딩 / 파티셔닝, 다시 공유 기능이 내장 된 멀티 마스터 모드를 작동 및 권장합니다. Redis-Sentinel은 버전 -3에서 필요하지 않습니다. Redis 클러스터가 작동하려면 최소한 3 개의 마스터 노드 / 프로세스가 필요합니다.

추가 기능으로는 복제, 지속성 및 클라이언트 측 샤딩이 있습니다. Redis는 Redis가 제공하는 것과 같이 자연스럽게 매핑 될 수있는 다양한 문제를 처리하므로 다른 데이터베이스에서 요구하는 개념 작업을 수행하지 않고도 문제를 해결할 수 있습니다.

Redis 명령 줄 인터페이스

redis-cli 는 Redis 명령 줄 인터페이스 프로그램으로, Redis에 명령을 보내고 서버에서 직접 보낸 응답을 터미널에서 읽을 수 있습니다. 기본 명령 줄 사용법은 다음과 같습니다.

홍수에 대한 액세스 :

$ redis-cli
127.0.0.1:6379>

인증을 통한 재발행 :

$ redis-cli -a myPassword
127.0.0.1:6379>

데이터베이스 선택 및 데이터베이스 크기 표시 (기본 데이터베이스 번호는 0) :

127.0.0.1:6379> dbsize
(integer) 2
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> dbsize
(integer) 20

서버에 대한 정보 및 통계를 얻으십시오.

127.0.0.1:6379> info
redis_version:2.4.10
redis_git_sha1:00000000
redis_git_dirty:0
arch_bits:64
multiplexing_api:epoll
gcc_version:4.4.6
process_id:947
uptime_in_seconds:873394
uptime_in_days:10
lru_clock:118108
used_cpu_sys:19.55
used_cpu_user:397.46
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
connected_clients:1
connected_slaves:0
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
used_memory:14295792
used_memory_human:13.63M
used_memory_rss:19853312
used_memory_peak:14295760
used_memory_peak_human:13.63M
mem_fragmentation_ratio:1.39
mem_allocator:jemalloc-2.2.5
loading:0
aof_enabled:0
changes_since_last_save:0
bgsave_in_progress:0
last_save_time:1468314087
bgrewriteaof_in_progress:0
total_connections_received:2
total_commands_processed:2
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
vm_enabled:0
role:master
db0:keys=2,expires=0
db1:keys=20,expires=0

redis-cli 종료 :

127.0.0.1:6379> exit

Redis "Hello World"

먼저 Redis 서버를 설치하고 시작해야합니다. 서버 또는 로컬 시스템에 redis를 설치하는 데 도움이되는 아래 링크를 확인하십시오.

설치 및 설정

이제 명령 프롬프트를 열고 redis-cli 명령을 실행하십시오.

첫 번째 세트를 저장하려면> SET '키 이름'을 누른 다음 '값'

127.0.0.1:6379> SET hkey "Hello World!"

보아야 할 Enter 키를 누릅니다.

OK

그런 다음 입력하십시오.

GET hkey

넌 봐야 해:

"Hello World!"

화면 출력 예 :

스크린 출력 예제

Docker를 사용하여 Redis 설치

docker를 사용하여 Redis를 사용하는 것은 간단합니다.

docker pull redis
docker run -p 6379:6379 --rm --name redis redis

이제 포트 6397 에서 인스턴스를 실행했습니다.

경고 : Redis가 중지되면 모든 데이터가 h 제됩니다.

redis-cli를 연결하려면 다른 도커를 시작하십시오.

docker run -it --link redis:redis --rm redis redis-cli -h redis -p 6379

이제 당신의 redis 도커와 놀 수 있습니다.

Windows의 Redis installtion과 Node.js 예제

Redis는 'Microsoft Open Technologies'에서 제공하는 Windows 포트가 있습니다. 다음에서 찾을 수있는 msi 설치 프로그램을 사용할 수 있습니다. https://github.com/MSOpenTech/redis/releases

설치가 완료되면 'Redis'는 Windows 서비스입니다 (상태는 "시작됨"이어야 함).

Node.js에서 Redis를 사용하는 'Hello world'예제 (Windows에서도 마찬가지 임)를 작성하려면 다음 npm 모듈을 사용할 수 있습니다. https://www.npmjs.com/package/redis

코드 샘플 :

var redis = require('redis'),
    client = redis.createClient();

client.set('mykey', 'Hello World');
client.get('mykey', function(err,res){
    console.log(res);
});


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow