찾다
데이터 베이스RedisRedis에서 중복을 제거하는 방법은 무엇입니까? 중복을 제거하는 4가지 방법에 대한 간략한 분석

Redis에서 중복을 제거하는 방법은 무엇입니까? 다음 글에서는 Redis 중복 제거 방법 4가지를 소개하겠습니다. 도움이 되셨으면 좋겠습니다!

Redis에서 중복을 제거하는 방법은 무엇입니까? 중복을 제거하는 4가지 방법에 대한 간략한 분석

이 글에서는 Redis의 세 가지 고유 계산 방법을 주로 소개합니다. 이 글에서는 SET 기반, 비트 기반, HyperLogLog 기반 세 가지 방법을 설명합니다. 고유 계산은 웹 사이트 시스템의 매우 일반적인 기능입니다. 예를 들어 웹 사이트는 매일 방문하는 고유 방문자 수(즉, UV)를 계산해야 합니다. 계산 문제는 매우 일반적이지만 해결하기가 매우 복잡할 수 있습니다. 첫째, 계산해야 하는 양이 매우 클 수 있습니다. 예를 들어 매일 수백만 명의 사람들이 대규모 사이트를 방문하고 데이터의 양은 둘째, 일반적으로 계산 차원을 확장하는 것이 바람직합니다. 예를 들어 일일 UV 외에도 주간 또는 월간 UV도 알고 싶어하므로 계산이 매우 복잡해집니다. [관련 추천:

Redis 동영상 튜토리얼
]

관계형 데이터베이스에 저장된 시스템에서 고유한 카운팅을 달성하는 방법은 셀렉트 카운트(고유한 )입니다. 매우 간단하지만 데이터 양이 다음과 같은 경우입니다. 크면 이 명령문이 실행됩니다. 매우 느립니다. 관계형 데이터베이스를 사용할 때의 또 다른 문제점은 데이터 삽입 성능이 높지 않다는 것입니다.

Redis는 이러한 종류의 계산 문제를 쉽게 해결할 수 있으며 관계형 데이터베이스보다 더 빠르고 리소스도 덜 소모합니다.

1. 집합 기반 집합

Redis는 고유한 데이터 집합을 저장하는 데 사용됩니다. 이를 통해 집합에 요소가 존재하는지 빠르게 확인할 수 있으며 집합에 포함된 요소의 개수도 빠르게 계산할 수 있습니다. 또한 컬렉션을 새 컬렉션으로 병합할 수 있습니다. 관련된 명령은 다음과 같습니다.

다음과 같이 코드를 복사합니다.

SISMEMBER key member  # 判断 member 是否存在
SADD key member  # 往集合中加入 member
SCARD key   # 获取集合元素个数

집합 기반 방법은 간단하고 효과적이며 계산이 정확하고 널리 적용 가능하며 이해하기 쉽다는 단점이 있습니다. (물론 관계형 데이터베이스에 비하면 훨씬 적습니다.) 요소 수가 많으면(예: 수억 개) 메모리 소모가 엄청납니다.

2. 비트 기반의 비트

Redis는 세트 메모리보다 더 압축된 계산을 구현하는 데 사용할 수 있습니다. 비트 1 또는 0을 사용하여 요소 존재 여부에 대한 정보를 저장합니다. 예를 들어, 웹 사이트의 순 방문자 수의 경우 user_id를 비트의 오프셋으로 사용할 수 있습니다. 1로 설정하면 액세스를 나타낼 수 있습니다. 1MB의 공간을 사용하면 8백만 명 이상의 사용자가 하루에 액세스할 수 있습니다. . 관련된 명령은 다음과 같습니다. 다음과 같이 코드를 복사하세요.
SETBIT key offset value  # 设置位信息
GETBIT key offset        # 获取位信息
BITCOUNT key [start end] # 计数
BITOP operation destkey key [key ...]  # 位图合并

비트 기반 방식은 set 방식에 비해 훨씬 적은 공간을 차지하지만 요소를 단순히 비트 오프셋에 매핑할 수 있어야 하며 적용 가능한 범위도 훨씬 좁습니다. 최대 오프셋에 따라 소모되며, 이동량은 카운트 값과 관련이 없습니다. 최대 오프셋이 크면 메모리 소모가 상당해집니다.

3 HyperLogLog

기반으로 엄청나게 많은 양의 데이터를 정확하게 고유하게 계산하는 것은 어렵지만 대략적으로만 계산하면 컴퓨팅 과학에는 효율적인 알고리즘이 많이 있으며 그중 HyperLogLog Counting이 매우 유명합니다. 알고리즘은 약 12K의 메모리만 사용하여 수억 개의 고유 카운트를 달성할 수 있으며 오류는 약 1%로 제어됩니다. 관련된 명령은 다음과 같습니다. 다음과 같이 코드를 복사하세요.
PFADD key element [element ...]  # 加入元素
PFCOUNT key [key ...]   # 计数

이 계산 방법은 통계에 일부 균일 분포, 무작위 확률, 베르누이 분포 등이 포함되어 있습니다. 관심이 있으시면 공부해 보세요. 깊이.

redis에서 제공하는 세 가지 고유한 계산 방법은 각각 고유한 장점과 단점이 있으며 다양한 상황에서 계산 요구 사항을 완전히 충족할 수 있습니다.

4. Bloomfilter

BloomFilter는 비트맵이나 비트세트와 유사한 데이터 구조를 사용하여 데이터를 저장하고, 비트 배열을 사용하여 세트를 간결하게 표현하며, 이 세트에 요소가 이미 존재하는지 빠르게 확인할 수 있습니다. BloomFilter가 100% 정확하지는 않지만 매개 변수, 사용되는 해시 함수 수 및 비트 배열 크기를 조정하면 오류율을 줄일 수 있습니다. 이 조정을 통해 오류율을 0에 가깝게 완전히 줄일 수 있습니다. 대부분의 시나리오를 충족할 수 있습니다.

집합 S = {x1, x2, … xn}이 있는 경우 Bloom Filter는 k개의 독립적인 해시 함수를 사용하여 집합의 각 요소를 {1,…,m} 범위에 매핑합니다. 모든 요소에 대해 매핑된 숫자는 해당 비트 배열의 인덱스로 사용되며 비트는 1로 설정됩니다. 예를 들어 요소 x1은 해시 함수에 의해 숫자 8에 매핑된 다음 비트 배열의 8번째 비트가 1로 설정됩니다. 아래 그림에서 집합 S에는 각각 3개의 해시 함수로 매핑된 두 개의 요소 x와 y만 있습니다. 매핑된 위치는 각각 (0, 3, 6) 및 (4, 7, 10)이며 해당 비트입니다. 1:

이제 이 집합에 다른 요소가 있는지 확인하려면 해당 위치에 0이 있는지 확인하기 위해 이 세 가지 해시 함수만 매핑하면 됩니다. 따라서 이는 이 요소가 이 세트에 확실히 존재하지 않는다는 것을 의미합니다. 그렇지 않으면 존재할 수도 있습니다. Redis에서 중복을 제거하는 방법은 무엇입니까? 중복을 제거하는 4가지 방법에 대한 간략한 분석

Redis는 Bloom 필터를 사용하기 위해 플러그인을 설치해야 합니다: https://blog.csdn.net/u013030276/article/details/88350641.

더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 소개를 방문하세요! !

위 내용은 Redis에서 중복을 제거하는 방법은 무엇입니까? 중복을 제거하는 4가지 방법에 대한 간략한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 掘金社区에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
REDIS : NOSQL 접근법의 장점REDIS : NOSQL 접근법의 장점Apr 27, 2025 am 12:09 AM

Redis는 고성능과 유연성을 제공하는 NOSQL 데이터베이스입니다. 1) 대규모 데이터 및 높은 동시성을 처리하는 데 적합한 키 가치 쌍을 통해 데이터를 저장합니다. 2) 메모리 저장 및 단일 스레드 모델은 빠른 읽기 및 쓰기 및 원자력을 보장합니다. 3) RDB 및 AOF 메커니즘을 사용하여 데이터를 지속하여 고 가용성 및 스케일 아웃을 지원합니다.

REDIS : 건축과 목적을 이해합니다REDIS : 건축과 목적을 이해합니다Apr 26, 2025 am 12:11 AM

Redis는 주로 데이터베이스, 캐시 및 메시지 중개인으로 사용되는 메모리 데이터 구조 스토리지 시스템입니다. 핵심 기능에는 단일 스레드 모델, I/O 멀티플렉싱, 지속 메커니즘, 복제 및 클러스터링 기능이 포함됩니다. Redis는 일반적으로 캐싱, 세션 저장 및 메시지 대기열을위한 실제 응용 프로그램에 사용됩니다. 올바른 데이터 구조를 선택하고 파이프 라인 및 트랜잭션을 사용하여 모니터링 및 튜닝을 통해 성능을 크게 향상시킬 수 있습니다.

Redis vs. SQL 데이터베이스 : 주요 차이점Redis vs. SQL 데이터베이스 : 주요 차이점Apr 25, 2025 am 12:02 AM

Redis와 SQL 데이터베이스의 주요 차이점은 Redis가 고성능 및 유연성 요구 사항에 적합한 메모리 데이터베이스라는 것입니다. SQL 데이터베이스는 관계형 데이터베이스로 복잡한 쿼리 및 데이터 일관성 요구 사항에 적합합니다. 구체적으로, 1) Redis는 고속 데이터 액세스 및 캐싱 서비스를 제공하고 캐싱 및 실시간 데이터 처리에 적합한 여러 데이터 유형을 지원합니다. 2) SQL 데이터베이스는 테이블 구조를 통한 데이터를 관리하고 복잡한 쿼리 및 트랜잭션 처리를 지원하며 데이터 일관성이 필요한 전자 상거래 및 금융 시스템과 같은 시나리오에 적합합니다.

Redis : 데이터 저장소 및 서비스 역할을하는 방법Redis : 데이터 저장소 및 서비스 역할을하는 방법Apr 24, 2025 am 12:08 AM

redisactsasbothadatastoreandaservice.1) asadatastore, itusesin-memorystorageforfastoperations, 지원을 지원합니다

Redis 대 기타 데이터베이스 : 비교 분석Redis 대 기타 데이터베이스 : 비교 분석Apr 23, 2025 am 12:16 AM

redis 与其他数据库相比 与其他数据库相比, 与其他数据库相比 : 1) 速度极快 速度极快 速度极快, 读写操作通常在微秒级别; 2) 支持丰富的数据结构和操作; 3) 灵活的使用场景 3) 灵活的使用场景 灵活的使用场景 灵活的使用场景 灵活的使用场景 灵活的使用场景 灵活的使用场景 灵活的使用场景 灵活的使用场景 灵活的使用场景 灵活的使用场景 灵活的使用场景 灵活的使用场景 灵活的使用场景 灵活的使用场景 灵活的使用场景 灵活的使用场景 灵活的使用场景 灵活的使用场景 灵活的使用场景 灵活的使用场景 3) redis 또는 기타 데이터베이스를 선택할 때 특정 요구 사항과 시나리오에 따라 다릅니다. Redis는 고성능 및 저도가 낮은 응용 프로그램에서 잘 수행됩니다.

Redis의 역할 : 데이터 저장 및 관리 기능 탐색Redis의 역할 : 데이터 저장 및 관리 기능 탐색Apr 22, 2025 am 12:10 AM

Redis는 데이터 저장 및 관리에서 핵심적인 역할을하며 여러 데이터 구조 및 지속 메커니즘을 통해 현대 애플리케이션의 핵심이되었습니다. 1) Redis는 문자열, 목록, 컬렉션, 주문 컬렉션 및 해시 테이블과 같은 데이터 구조를 지원하며 캐시 및 복잡한 비즈니스 로직에 적합합니다. 2) RDB와 AOF의 두 가지 지속 방법을 통해 Redis는 신뢰할 수있는 스토리지 및 데이터의 빠른 복구를 보장합니다.

REDIS : NOSQL 개념 이해REDIS : NOSQL 개념 이해Apr 21, 2025 am 12:04 AM

Redis는 대규모 데이터의 효율적인 저장 및 액세스에 적합한 NOSQL 데이터베이스입니다. 1.Redis는 여러 데이터 구조를 지원하는 오픈 소스 메모리 데이터 구조 스토리지 시스템입니다. 2. 캐싱, 세션 관리 등에 적합한 매우 빠른 읽기 및 쓰기 속도를 제공합니다. 3. REDIS는 RDB 및 AOF를 통해 지속성을 지원하고 데이터 보안을 보장합니다. 4. 사용 예제에는 기본 키 값 쌍 작업 및 고급 수집 중복 제거 기능이 포함됩니다. 5. 일반적인 오류에는 연결 문제, 데이터 유형 불일치 및 메모리 오버플로가 포함되므로 디버깅에주의를 기울여야합니다. 6. 성능 최적화 제안에는 적절한 데이터 구조 선택 및 메모리 제거 전략 설정이 포함됩니다.

REDIS : 실제 사용 사례 및 예제REDIS : 실제 사용 사례 및 예제Apr 20, 2025 am 12:06 AM

실제 세계에서 Redis의 애플리케이션에는 다음이 포함됩니다. 1. 캐시 시스템으로서 데이터베이스 쿼리를 가속화, 2. 웹 응용 프로그램의 세션 데이터를 저장하려면 3. 실시간 순위를 구현하려면 메시지 전달을 메시지 큐로 단순화합니다. Redis의 다목적 성과 고성능은 이러한 시나리오에서 빛을 발합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구