오픈 소스(BSD 라이선스) 인메모리 데이터 구조 저장 시스템인 Redis는 데이터베이스, 캐시 및 메시지 미들웨어로 사용할 수 있습니다. 문자열, 해시, 목록, 집합, 정렬된 집합 및 범위 쿼리, 비트맵, 하이퍼로그 로그 및 지리공간(지리공간) 인덱스 반경 쿼리와 같은 다양한 유형의 데이터 구조를 지원합니다.
Redis에는 Redis Sentinel과 자동 파티셔닝(클러스터)을 통해 복제, LUA 스크립팅, LRU 제거, 트랜잭션 및 다양한 수준의 디스크 지속성이 내장되어 있어 고가용성을 제공합니다.
Redis는 메모리 작업을 기반으로 합니다. CPU는 Redis의 성능 병목 현상이 아니며, 병목 현상은 시스템의 메모리 및 네트워크 대역폭에 따라 달라지므로 단일 스레드로 구현할 수 있습니다. 그런 다음 단일 스레드를 사용하십시오.
그렇다면 단일 스레드에서는 왜 이렇게 빠른 걸까요?
우선, 명확히 해야 할 두 가지 오해가 있습니다.
고성능 서버가 반드시 멀티 스레드일 필요는 없습니다.
멀티 스레딩이 반드시 싱글 스레딩보다 더 효율적인 것은 아닙니다.
Redis는 모든 데이터를 메모리에 넣습니다. 스레드가 여러 개인 경우 CPU 전환 컨텍스트가 발생하므로 시간 소모가 증가합니다. 메모리 시스템의 경우 컨텍스트 전환이 없으면 단일 스레드 작업 효율성이 가장 높습니다. .
redis에는 기본적으로 16개의 데이터베이스가 있으며 기본 사용은 첫 번째 데이터베이스(아래 첨자 0)입니다. 데이터베이스 16
이 포함된 구성 파일을 확인할 수 있습니다. database 16
。
select 3
,可以切换到第4个数据库。
dbsize
2.
3을 선택
하면 4번째 데이터베이스로 전환할 수 있습니다.
dbsize
는 현재 데이터베이스 크기를 볼 수 있습니다.
flushdb
flushall
1. 키 및 값 설정 * 보기 모든 키
모든 키를 보실 수 있습니다. 여기에서 기본 데이터베이스로 다시 전환하고 모든 키를 확인하세요.set name pingguo222
3.
keys *
4.exists key 값을 가져옵니다.
get name
키가 있으면 1을 반환하고 없으면 0을 반환합니다.
MOVE 명령은 현재 데이터베이스의 키를 해당 데이터베이스 db로 이동하는 명령입니다.
exists name
예를 들어 현재 데이터베이스 3에 있다고 가정하고 "name"이라는 콘텐츠를 데이터베이스 0으로 이동하는 명령을 실행하려고 합니다. 성공하면 1을, 실패하면 0을 반환합니다.
6. 키 만료 시간을 설정하세요
10초 후에 만료되도록 연령을 설정했습니다. 10초 후에 다시 가져오면 값을 얻지 못합니다.
move name 0
7. 키의 남은 시간을 확인합니다
이름 만료 시간을 100초로 설정하고 ttl을 사용하여 확인합니다.expire age 10
ttl name
위 내용은 Redis를 시작하기 위한 일반적인 작업 명령 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!