>  기사  >  데이터 베이스  >  명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.

명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.

青灯夜游
青灯夜游앞으로
2022-02-11 19:51:211716검색

이 기사에서는 명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 소개합니다. 많은 명령과 사례가 도움이 되기를 바랍니다.

명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.

redis 전통적인 5가지 빅 데이터 유형의 적용

redis 전통적인 5가지 빅 데이터 유형의 구현

Redis 소개:

Redis는 오픈 소스(BSD 라이센스), 메모리 내 데이터 구조 저장소입니다. system , 데이터베이스, 캐시 및 메시징 미들웨어로 사용할 수 있습니다. 범위 쿼리, 비트맵, 하이퍼로그로그 및 지리공간(지리공간) 인덱스 반경 쿼리를 사용하여 문자열, 해시, 목록, 집합, 정렬된 집합]과 같은 다양한 유형의 데이터 구조를 지원합니다. Redis에는 복제, LUA 스크립팅, LRU 제거, 트랜잭션 및 다양한 수준의 디스크 지속성이 내장되어 있으며 Redis Sentinel 및 자동 파티셔닝(클러스터)을 통해 고가용성을 제공합니다. [관련 권장사항: Redis 동영상 튜토리얼]

redis 명령 쿼리: http://www.redis.cn/commands.html

참고: redis 명령은 대소문자를 구분하지 않지만 키는 대소문자를 구분합니다

쿼리 명령 도움말:

help @Type noun

예:

명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.

문자열 문자열 유형

가장 일반적으로 사용되는

set key vuue

getkey

동시에 설정 /다중 키 값 가져오기 ​​

MSET 키 값 [키 값 ...]

MGET 키 [키 ,,,]

값 증가 및 감소

키에 따라 숫자 증가

지정된 정수 증분 키 증분을 늘립니다

decr 키 값을 줄입니다

지정된 정수 증분 키 감소를 줄입니다

문자 길이 가져오기

STRLEN 키

분산 잠금

setnx 키 값

키 값 설정 [EX 초] [PX 밀리초] [NX|XX]

명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.

  • EX: 키는 몇 밀리초에 만료됩니까?
  • PX: 키는 몇 밀리초에 만료됩니까? 효과는 setnx
  • XX와 동일합니다. 키가 존재하면 키를 덮어씁니다

명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.

시나리오 사용

INCR 명령을 사용하여 제품 번호와 주문 번호가 생성됩니다
  • 기사처럼 if 좋아요
  • 읽기 횟수: 나머지 주소를 클릭한 상태에서 incr 키 명령을 직접 사용하여 숫자 1을 추가하면 숫자 기록이 완료됩니다.

명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.명령 연습

명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.해시 유형

및 Java 데이터 구조 매핑

Map>

필드 값 HSET 키 필드 value

한 번에 하나의 필드 값 가져오기

HGET 키 필드

한 번에 여러 필드 값 설정

HMSET 키 필드 값 [필드 값...]

한 번에 여러 필드 값 가져오기 time 필드 값

HMGET 키 필드 [필드...]

모든 필드 값 가져오기

hgetall key

키의 모든 수량 가져오기

hlen

키 삭제

hdel

명령 시연

명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.

적용 시나리오현재 중소 규모 공장에서는

을 사용하여 새 제품을 추가할 수 있습니다 --> shopcar:uid1024 334488 1

New 제품 추가--> hset shopcar:uid2014 334477 1

제품 수량 추가--> hincrby shopcar:uid1024 334477 1

총 제품 수--> 4

모두 선택--> hgetall shopcar: uid1024

명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.

목록 목록 유형

목록 왼쪽에 요소 추가

lpush 키 값 [값 ...]

요소 추가 목록 오른쪽

rpush 키 값 [값 ...]

목록 보기

lrange 키 시작 중지

목록에 있는 요소 수 가져오기

llen 키

명령 사용법

명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.

신청 시나리오

WeChat 기사 구독 공개 계정

1. [xx Bao]와 [xx 신문]이 각각 기사 11과 22를 게시했습니다

2. 기사가 내 목록으로 푸시됩니다

likearticle: uid1024 11 22

3. 작성자 자신의 구독 계정의 모든 기사를 봅니다. 페이징과 유사하게 다음 0-10은 likearticle:uid1024와 같이 한 번에 10개의 lrange 기사를 표시합니다. 0 10

명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.

중복되지 않는 목록 유형 설정

요소 추가

sadd 키 멤버 [멤버 ...]

요소 제거

srem 키 멤버 [멤버 ...]

세트의 모든 요소 가져오기

smembers 키

요소가 세트에 있는지 판단

sismember 키 멤버

세트의 요소 수 가져오기

카드 키

팝 세트에서 무작위로 요소를 삭제하지 않습니다.

srandmember 키 [숫자]

세트에서 요소를 무작위로 팝하고 하나를 삭제합니다.

spop 키 [숫자]

세트 작업

  • 집합 차이 연산 A - B

A에는 속하지만 B에는 속하지 않는 요소로 구성된 집합

sdiff 키 [키...]

  • 집합의 교차 요소는 A ^ B

A에 속하고 B에도 속합니다. 공통으로 소유된 요소

simter 키 [key...]

  • 세트 A v B

A 또는 B에 속하는 요소의 병합된 세트

sunion 키 [키... ]

신청 시나리오

WeChat 복권 애플릿

명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.

1. 사용자 ID, 즉시 참여, sadd 키 사용자 ID

2. 현재 몇 명이 참여했는지 표시합니다. 참여해주신 분들, 스카드키

3. 추첨 (세트에서 당첨자 N명 임의로 선정)

srandmember 키 2 무작위 추첨 2명, 요소 삭제되지 않습니다

spop key 3 드라이버 추첨 3명, 요소가 추가됩니다. 삭제됨

WeChat 순간 좋아요

1명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.

1. 좋아요 추가; sadd pub:msgid 좋아요 사용자 id2

2 좋아요 취소 srem pub:msgid 사용자 smembers pub :msgid

4. 좋아요를 기다리는 일반적인 빨간색 숫자인 좋아요 수에 대한 통계입니다. Scarp pub:msgid

5. 친구가 포스터를 좋아했는지 확인합니다. sismember pub:msgid 사용자 ID

Weibo 친구들은 사회적 관계를 팔로우합니다

함께 팔로우하는 사람들1명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.

sadd s1 1 2 3 4

sadd s2 2 3 6 8

sinter s1 s2

공통 팔로우: 누군가의 웨이보에 가보면 즉시 그 사람을 얻습니다. 공통점이 있는 사람 팔로우

내가 팔로우하는 사람도 그 사람을 팔로우합니다(우리는 모두 같은 취미를 가지고 있습니다)

저는 Huawei의 Yu Chengdong을 팔로우하고 있으며 Yu Chengdong도 Zhang Zhaodong을 팔로우하고 있습니다. Yu 씨와 저는 같은 취미를 가지고 있습니다

sadd s1 1 2 3 4 5

sadd s2 3 4 5 6 7

sismember s1 3

sismember s2 3

알 수도 있는 사람들의 QQ 추천

sadd s1 1 2 3 4 5

sadd s2 3 4 5 6 7

//서로 친구

sinter s1 s2

//차이 세트

sdiff s1 s2

sdiff s2 s1

zset 주문 세트

공용 명령

1. 요소를 추가하세요.

2. 요소 추가

ZADD 키 스코어 멤버 [점수 멤버...]

  • 3. Strat의 인덱스를 stop

zrange 키 시작 중지 사이의 모든 요소로 반환합니다. [WITHSORES]

  • 4. 요소

zscore 핵심 멤버 [멤버...]

  • 5. 요소

zrem 핵심 멤버 [멤버...] 삭제 . 지정된 점수 범위의 요소를 가져옵니다

  • zrangebyscore 키 최소 최대 [WITHSCORES] [LIMIT 오프셋 수]

7. 요소의 점수를 높입니다

  • zincrby 키 증분 멤버

8. 세트의 요소

  • zcard key

9. 지정된 점수 범위 내의 요소 수를 가져옵니다

  • zcount key min max

10. 순위 범위에 따라 요소를 삭제합니다.

  • zremrangebyrank 키 시작 중지

11. 요소 순위 가져오기

  • 소형에서 대형zrank 핵심 멤버

  • 대형에서 smallzrevrank 핵심 멤버

응용 시나리오

1. 상품 판매량을 기준으로 상품을 정렬하여 표시합니다

아이디어: 상품 판매량 순위 목록(정렬된 집합)을 정의합니다. 키는 상품:sellsort이고 점수는 상품 판매량입니다.

상품번호 1001의 판매량은 9, 상품번호 1002의 판매량은 15 | zadd 상품:sellsort 9 1001 15 1002
고객이 1001 상품을 2개 더 구매했으며, 상품번호는 1001입니다. 2 증가 | 아연rby 상품:sellsort 2 10001
Zrange 상품:sellsort 0 10 withscores
1명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.

2. Douyin 핫 검색

1명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.

1. 20220203 1 800

ZINCRBY hotavi:20220203 15 800 2 Mulan

2. 오늘의 상위 10개 항목을 표시합니다

zrevrange hotavi:20220203 0 9 withscores

더 많은 프로그래밍 관련 지식을 보려면 다음을 방문하세요:

프로그래밍 입문

! !

위 내용은 명령과 애플리케이션 시나리오를 통해 Redis의 5가지 기본 유형을 이해할 수 있도록 안내합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.cn에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제