redis에는 주로 다음과 같은 데이터 유형이 있습니다.
list
set
정렬된 세트# 🎜 🎜#
string
이것은 가장 간단한 유형, 즉 일반 세트입니다. 간단한 KV 캐싱을 수행합니다.
set college szu
hash
이것은 map과 유사한 구조입니다. 이는 일반적으로 객체와 같은 구조화된 데이터를 허용합니다(전제 조건(이 객체는 다른 객체를 중첩하지 않음)은 Redis에 캐시되며 캐시를 읽거나 쓸 때마다 해시의 특정 필드를 조작할 수 있습니다. hset person name bingo
hset person age 20
hset person id 1
hget person name
person = {
"name": "bingo",
"age": 20,
"id": 1
}
list는 순서가 지정된 목록으로 다양한 방법으로 사용할 수 있습니다. 예를 들어 list를 사용하면 팬 목록, 기사 댓글 목록 등 일부 목록 유형 데이터 구조를 저장할 수 있습니다.
예를 들어 lrange 명령을 사용하여 특정 닫힌 간격으로 요소를 읽을 수 있고, 목록 기반의 페이징 쿼리를 구현할 수 있습니다. 이는 redis 기반으로 간단하게 구현할 수 있는 기능입니다. 고성능 페이징 드롭다운 및 연속 페이징을 사용하는 Weibo와 같은 제품은 고성능을 가지며 페이지별로 탐색할 수 있습니다.
# 시작 위치가 -1, 끝 위치가 -1이면 목록의 마지막 위치, 즉 모두 보기를 의미합니다. lrange mylist 0 -1
예를 들어 간단한 메시지 대기열을 만들어 목록의 선두에 넣고 목록의 꼬리에서 꺼낼 수 있습니다. 목록.
lpush mylist 1 lpush mylist 2 lpush mylist 3 4 5 # 1 rpop mylistset
set는 중복 항목을 자동으로 제거하는 순서가 지정되지 않은 세트입니다.
중복 제거가 필요한 데이터를 세트 기반으로 직접 시스템에 넣으면 자동으로 중복 제거됩니다. 일부 데이터에 대해 빠르게 전역 중복 제거가 필요한 경우 물론 기반으로 사용할 수도 있습니다. 중복 제거를 위해 jvm memory HashSet에 있지만 시스템 중 하나가 여러 시스템에 배포된 경우 어떻게 될까요? 전역 세트 중복 제거는 Redis를 기반으로 수행되어야 합니다.
세트를 기준으로 교차, 결합, 차이 연산을 수행할 수 있습니다. 예를 들어 교차하는 경우 두 사람의 팬 목록을 결합하여 공통 친구가 누구인지 확인할 수 있습니다. 오른쪽.
대형 뷔의 팬들을 두 세트로 나누어 두 세트를 교차시켜 보세요. #-------操作一个set-------
# 添加元素
sadd mySet 1
# 查看全部元素
smembers mySet
# 判断是否包含某个值
sismember mySet 3
# 删除某个/些元素
srem mySet 1
srem mySet 2 4
# 查看元素个数
scard mySet
# 随机删除一个元素
spop mySet
#-------操作多个set-------
# 将一个set的元素移动到另外一个set
smove yourSet mySet 2
# 求两set的交集
sinter yourSet mySet
# 求两set的并集
sunion yourSet mySet
# 求在yourSet中而不在mySet中的元素
sdiff yourSet mySet
sorted set은 중복을 제거하면서도 정렬이 가능한 정렬 집합입니다. 점수 정렬에 따라 자동으로 생성됩니다.
zadd board 85 zhangsan zadd board 72 lisi zadd board 96 wangwu zadd board 63 zhaoliu # 获取排名前三的用户(默认是升序,所以需要 rev 改为降序) zrevrange board 0 3 # 获取某用户的排名 zrank board zhaoliu
위 내용은 Redis는 일반적으로 어떤 데이터를 캐시합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!