Redis는 어디에 적용할 수 있나요? 이 기사에서는 Redis의 16가지 일반적인 사용 시나리오를 한 번에 공유하겠습니다. 모든 사람에게 도움이 되기를 바랍니다.
【관련 추천: Redis 동영상 튜토리얼】
문자열 유형
예: 핫 데이터 캐시(예: 보고서, 유명 인사 부정 행위), 개체 캐시, 전체 페이지 캐시 핫 데이터 액세스 데이터를 개선합니다.
Redis는 여러 애플리케이션 간에 공유할 수 있는 분산 독립 서비스이기 때문입니다.
예: 분산 세션
<dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency>
public static boolean getLock(String key) { Long flag = jedis.setnx(key, "1"); if (flag == 1) { jedis.expire(key, 10); } return flag == 1; } public static void releaseLock(String key) { jedis.del(key); }
4. Global ID
incrby userid 1000
하위 라이브러리 및 하위 테이블의 시나리오에서 섹션을 한 번에
5. Counter
예: 기사 읽기 수, Weibo 좋아요 수, 특정 지연 허용, 먼저 Redis에 쓴 다음 정기적으로 데이터베이스에 동기화
6. 현재 제한
방문자의 IP 및 기타 정보를 키로 사용합니다. 방문 횟수가 숫자를 초과하면 false가 반환됩니다.
문자열 비트카운트 유형(1.6.6에서 비트맵 데이터 구조 도입)
set k1 a setbit k1 6 1 setbit k1 7 0 get k1 /* 6 7 代表的a的二进制位的修改 a 对应的ASCII码是97,转换为二进制数据是01100001 b 对应的ASCII码是98,转换为二进制数据是01100010 因为bit非常节省空间(1 MB=8388608 bit),可以用来做大数据量的统计。 */
예: 온라인 사용자 통계, 유지된 사용자 통계
setbit onlineusers 01 setbit onlineusers 11 setbit onlineusers 20
비트 AND, 비트 OR 등의 연산 지원
BITOPANDdestkeykey[key...] ,对一个或多个 key 求逻辑并,并将结果保存到 destkey 。 BITOPORdestkeykey[key...] ,对一个或多个 key 求逻辑或,并将结果保存到 destkey 。 BITOPXORdestkeykey[key...] ,对一个或多个 key 求逻辑异或,并将结果保存到 destkey 。 BITOPNOTdestkeykey ,对给定 key 求逻辑非,并将结果保存到 destkey 。
7일 동안 온라인 상태인 사용자 계산
BITOP "AND" "7_days_both_online_users" "day_1_online_users" "day_2_online_users" ... "day_7_online_users"
8. 장바구니
문자열 또는 해시. 문자열로 수행할 수 있는 모든 해시를 수행할 수 있습니다
키: 사용자 ID; 필드: 제품 ID: 제품 수량.
+1:hincr. -1:hdecr. 삭제:hdel. 모두 선택: hgetall. 항목 수: hlen.List는 두 가지 차단 팝 작업을 제공합니다: blpop/brpop, 시간 제한 설정 가능
blpop: blpop key1 timeout은 목록에 요소가 없으면 목록의 첫 번째 요소를 제거하고 가져옵니다. 대기 시간이 초과되거나 팝업 가능한 요소가 발견될 때까지 목록입니다. brpop: brpop key1 timeout은 목록의 마지막 요소를 제거하고 가져옵니다. 목록에 요소가 없으면 대기 시간이 초과되거나 팝 가능한 요소가 발견될 때까지 목록이 차단됩니다.spop myset
like:t1001을 사용하여 이 Weibo를 좋아하는 모든 사용자를 t1001에서 유지하세요
이 Weibo를 좋아했습니다: sadd 좋아요:t1001 u3001좋아요: srem 좋아요:t1001 u3001// 获取差集 sdiff set1 set2 // 获取交集(intersection ) sinter set1 set2 // 获取并集 sunion set1 set2
sadd brand:apple iPhone11 sadd brand:ios iPhone11 sad screensize:6.0-6.24 iPhone11 sad screentype:lcd iPhone 11
sinter brand:apple brand:ios screensize:6.0-6.24 screentype:lcd
15. 사용자 관심, 추천 모델
팔로우 팬 팬
id 为6001 的新闻点击数加1:
zincrby hotNews:20190926 1 n6001
获取今天点击最多的15条:
zrevrange hotNews:20190926 0 15 withscores
Redis 用的好,加薪少不了
原文地址:https://juejin.cn/post/6994229128534687781
作者:码猿技术专栏
更多编程相关知识,请访问:编程视频!!
위 내용은 Redis는 어디에 사용될 수 있나요? 16가지 일반적인 사용 시나리오 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!