Redis 열 시트¶
Redis - In-Memory 데이터 구조 저장
Redis는 데이터베이스, 캐시 및 메시지 브로커로 사용되는 오픈 소스, 인 메모리 데이터 구조 저장소입니다. 문자열, hashes, lists, sets, sorted set 와 range queries, bitmaps, 하이퍼로그, geospatial indexes, 스트림과 같은 데이터 구조를 지원합니다.
본문 바로가기¶
- 설치
- 기본 명령
- 키 운영
- 전략
- 해시 운영
- 목록 운영
- 설정
- Sorted Set 운영
- HyperLogLog 운영
- Geospatial 운영
- 운전
- 비트 운영
- Pub/Sub
- 번역
- 스크립팅 (Lua)
- 기간
- 신청
- 주요
- 클러스터
- 보안
- 기능 최적화
- 모니터링
- 모범 사례
설치하기¶
우분투 / 데비안¶
카지노사이트
CentOS/RHEL/페도라¶
카지노사이트
맥 OS¶
카지노사이트
윈도우¶
카지노사이트
기타 제품¶
카지노사이트
기본 명령¶
Redis에 연결¶
카지노사이트
Server 정보¶
카지노사이트
키 작업¶
기본 키 명령¶
카지노사이트
핵심 Expiration¶
카지노사이트
고급 키 작업¶
카지노사이트
문자열 작업¶
기본 문자열 명령¶
ο 회원 관리
Integer 운영¶
카지노사이트
Hash 작업¶
기본 해시 명령¶
카지노사이트
고급 해시 작업¶
카지노사이트
공지사항¶
Basic List 명령¶
카지노사이트
블록 목록 작업¶
카지노사이트
설정 작업¶
기본 설정 명령¶
카지노사이트
설정 작업¶
카지노사이트
정렬 설정 작업¶
기본 정렬 설정 명령¶
카지노사이트
고급 정렬 설정 작업¶
오프화이트
HyperLogLog 운영¶
기본 HyperLogLog 이름 *¶
카지노사이트
Geospatial 가동¶
기본 Geospatial 명령¶
오프화이트
스트림 작업¶
기본 스트림 명령¶
카지노사이트
고객 그룹¶
카지노사이트
Bit 운영¶
기본 비트 명령¶
카지노사이트
주 메뉴¶
기본 Pub/Sub 명령¶
카지노사이트
계정 관리¶
Basic Transaction 명령¶
카지노사이트
스크립트 (Lua)¶
기본 스크립트 명령¶
카지노사이트
Lua Script 예제¶
```lua -- atomic_incr_with_limit.lua local current = redis.call("GET", KEYS[1]) if not current then current = 0 end
local limit = tonumber(ARGV[1]) if tonumber(current) < limit then return redis.call("INCR", KEYS[1]) else return tonumber(current) end
-- Execute script EVAL "...script content..." 1 mycounter 100 ```의 경우
회사 소개¶
RDB (데이터베이스)¶
```bash
Configuration (redis.conf)¶
save 900 1 # Save if 1 key changed in 900s save 300 10 # Save if 10 keys changed in 300s save 60 10000 # Save if 10000 keys changed in 60s
dbfilename dump.rdb dir /var/lib/redis
Manual save¶
SAVE # Blocking save BGSAVE # Background save ```에 대하여
AOF (파일만 제출)¶
```bash
Configuration (redis.conf)¶
appendonly yes appendfilename "appendonly.aof"
AOF fsync policy¶
appendfsync always # Slowest, most durable¶
appendfsync everysec # Default, good balance¶
appendfsync no # Fastest, least durable¶
Rewrite AOF file¶
BGREWRITEAOF ```의 경우
이름 *¶
Master-Slave 복제¶
```bash
On slave (redis.conf)¶
replicaof
or SLAVEOF command¶
On master (redis.conf)¶
No specific configuration needed¶
Check replication status¶
INFO replication
Promote slave to master¶
REPLICAOF NO ONE
or SLAVEOF NO ONE¶
```에 대하여
주 메뉴¶
Sentinel 구성¶
```bash
sentinel.conf¶
sentinel monitor mymaster 127.0.0.1 6379 2 sentinel down-after-milliseconds mymaster 30000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 180000
Start Sentinel¶
redis-sentinel /path/to/sentinel.conf ```의 경우
Sentinel 명령¶
카지노사이트
회사 소개¶
클러스터 설정¶
카지노사이트
클러스터 명령¶
카지노사이트
계정 관리¶
비밀번호 보호¶
카지노사이트
명령 이름¶
카지노사이트
네트워크 보안¶
카지노사이트
성능 최적화¶
메모리 최적화¶
```bash
Use appropriate data structures¶
Hashes for objects, sets for unique items, etc.¶
Use memory-efficient encodings¶
ziplist for small lists/hashes, intset for small sets of integers¶
Configure maxmemory policy¶
redis.conf¶
maxmemory 2gb maxmemory-policy allkeys-lru
Policies: volatile-lru, allkeys-lru, volatile-random, allkeys-random, volatile-ttl, noeviction¶
Monitor memory usage¶
INFO memory MEMORY USAGE mykey ```의 경우
공급 능력¶
```bash
Use pipelining¶
(printf "PING\r\nSET key value\r\nGET key\r\n"; sleep 1) | nc localhost 6379
Use Lua scripts for complex atomic operations¶
Avoid slow commands in production¶
KEYS, FLUSHALL, FLUSHDB, DEBUG, MONITOR¶
Monitor slow log¶
SLOWLOG GET 10 SLOWLOG LEN SLOWLOG RESET
redis.conf¶
slowlog-log-slower-than 10000 # in microseconds slowlog-max-len 128 ```의 경우
관련 기사¶
Redis 모니터링 도구¶
카지노사이트
최고의 연습¶
일반 모범 사례¶
- 사용 사례에 적합한 데이터 구조를 사용합니다.
- 키를 설정하여 메모리를 관리합니다.
- 지연 시간을 줄이기 위해 여러 명령을 위해 pipelining을 사용합니다.
- Lua 스크립트를 사용하여 복잡한 원자 작업.
- 생산 환경에서 느린 명령을 피하십시오.
- 내구성 요구 사항에 따라 Persistence(RDB/AOF) 구성
- 높은 가용성을 위한 복제를 사용하십시오.
- 자동 장애를 위한 Sentinel 사용.
- 수평 스케일링을위한 클러스터를 사용합니다.
- Redis 인스턴스를 암호 및 네트워크 바인딩으로 보호합니다.
- 성능과 건강을 위한 Redis 인스턴스를 모니터링 합니다.
캐싱 모범 사례¶
- Cache-Aside Pattern: 응용 코드는 캐시를 먼저 체크하고, 데이터베이스를 확인합니다.
- **Read-Through/Write-Through **: Redis는 주요 데이터 저장소이며, 응용 프로그램은 Redis에서만 상호 작용합니다.
- **Write-Back (Write-Behind) **: 쓰기 Redis로 이동, then asynchronously to database.
- Cache Eviction Policies: 올바른
maxmemory-policy
를 선택하십시오. - Time-To-Live (TTL): 캐시된 데이터를 위한 적절한 TTL를 설정합니다.
세션 스토어 모범 사례¶
SETEX
를 사용하여 세션 데이터를 만료합니다.- Hashes를 사용하여 세션 속성을 저장합니다.
EXPIRE
를 사용하여 세션 TTL을 활성화합니다.
Message Broker 모범 사례¶
- 간단한 메시지 큐에 대한 목록.
- 팬 아웃 메시징을 위한 Pub/Sub를 사용하십시오.
- persistent, multi-consumer 메시지 큐에 대한 스트림을 사용합니다.
제품정보¶
Redis는 다양한 응용 분야에 사용할 수있는 다양한 고성능 인 메모리 데이터 저장소입니다. 이 속임수 시트는 Redis 명령과 최고의 관행의 포괄적 인 개요를 제공합니다. 기본 키 값 작업에서 스트림, 클러스터링 및 스크립트와 같은 고급 기능을 제공합니다.
** 키 강도:** - Performance: In-memory 스토리지는 매우 빠른 읽기 및 쓰기 작업을 제공합니다. - ** 데이터 구조 : 간단한 키 값 쌍을 넘어 데이터 구조의 풍부한 세트. - ** 취약점: 데이터베이스, 캐시, 메시지 브로커 등과 함께 사용할 수 있습니다. - Scalability: 높은 가용성을 위한 복제, Sentinel 및 수평 스케일링을 위한 클러스터를 지원합니다.
** 최고의 사용 사례:** - 캐싱 (웹 페이지, 데이터베이스 쿼리, API 응답) - 세션 관리 - 실시간 분석 (leaderboards, 카운터) - Message queues 과 일 처리 - Pub/Sub 메시징 시스템 - Geospatial 신청
** 중요 고려 사항 : ** - in-memory, 데이터 크기는 사용할 수 RAM에 의해 제한됩니다. - Persistence 구성은 데이터 손실을 방지하기 위해 중요합니다. - 보안은 무단 액세스를 방지하기 위해 제대로 구성되어야 합니다. - 데이터 구조를 이해하는 것은 효과적인 사용의 열쇠입니다.
이 속임수 시트의 명령과 패턴을 레버리지함으로써, Redis와 강력한 확장성 및 고성능 응용 프로그램을 구축할 수 있습니다.
<문서> 기능 copyToClipboard () 이름 * const 명령 = document.querySelectorAll("code"); let allCommands = ""; 명령. forEach(cmd =>의 경우 allCommands += cmd.textContent + "\n"); navigator.clipboard.write텍스(allCommands); alert("모든 명령은 클립보드에 복사!"); 이름 *
함수 생성PDF() { 창. 인쇄 (); 이름 *