- 방향:
- 모두 웹3.0 백엔드 개발 웹 프론트엔드 데이터 베이스 운영 및 유지보수 개발 도구 PHP 프레임워크 일일 프로그램 위챗 애플릿 일반적인 문제 다른 기술 CMS 튜토리얼 Java 시스템 튜토리얼 컴퓨터 튜토리얼 하드웨어 튜토리얼 모바일 튜토리얼 소프트웨어 튜토리얼 모바일 게임 튜토리얼
- 나누다:
-
- Redis의 이벤트 중심 모델은 무엇입니까?
- Redis가 기본 소켓 프로그래밍 모델을 사용하지 않는 이유는 무엇입니까? 소켓 모델을 사용하여 네트워크 통신을 구현하는 경우 소켓 생성, 포트 수신, 연결 처리, 요청 읽기 및 쓰기 등 여러 단계를 거쳐야 합니다. 이제 이러한 단계의 주요 작업을 자세히 살펴보겠습니다. 소켓 모델을 분석하는 데 도움이 되지 않습니다. 먼저, 서버와 클라이언트 간 통신이 필요한 경우 다음 세 단계를 통해 서버에서 클라이언트 연결을 수신하는 청취 소켓(ListeningSocket)을 만들 수 있습니다. 소켓 함수를 호출하여 소켓을 생성합니다. 우리는 일반적으로 이 소켓을 활성 소켓(ActiveSocket)이라고 부릅니다.
- Redis 703 2023-06-04 10:20:07
-
- Redis 낙관적 잠금을 기반으로 동시 큐잉을 구현하는 방법
- redis를 사용하여 scrapy 실행 횟수를 제어하는 수요 시나리오가 있습니다. 시스템 배경이 4로 설정되면 scapry는 4개의 작업만 시작할 수 있으며 초과하는 작업은 대기열에 추가됩니다. 개요 최근 django+scrapy+celery+redis 크롤러 시스템을 구축했는데, 다른 프로그램을 실행하는 것 외에도 고객이 구입한 호스트에서도 내가 개발한 프로그램을 실행해야 하므로 scrapy 인스턴스 수를 수동으로 제어해야 합니다. 너무 많은 크롤러를 피하기 위해 시스템에 부담을 줍니다. 프로세스 설계 1. 크롤러 작업은 요청 형식으로 사용자에 의해 시작되며 모든 사용자 요청은 대기열에 포함되도록 셀러리에 균일하게 입력됩니다. 2. 작업 번호 제어 실행은 리드에 넘겨지고 셀러리를 통해 저장됩니다.
- Redis 1614 2023-06-04 09:58:09
-
- SpringBoot가 RedisTemplate을 사용하여 Redis 데이터 유형을 작동하는 방법
- Spring은 모든 Redis 네이티브 API를 지원하는 Redis를 작동하기 위해 RedisTemplate을 캡슐화합니다. RedisTemplate에는 5가지 데이터 구조에 대한 연산 방법이 정의되어 있습니다. opsForValue(): 문자열에 대해 작동합니다. opsForList(): 작업 목록입니다. opsForHash(): 해시를 작동합니다. opsForSet(): 작업 집합입니다. opsForZSet(): 순서가 지정된 집합을 작동합니다. 다음은 이러한 방법을 이해하고 적용하기 위한 예입니다. 여기서 특별한 주의가 필요한 점은 위의 방법을 실행한 후에는 데이터를 지워야 한다는 점입니다. 그렇지 않으면 여러 번 실행하면 데이터 작업이 반복됩니다. (1) Maven을 사용하여 종속성 파일 추가
- Redis 692 2023-06-04 09:43:38
-
- Redis의 만료 전략 및 메모리 제거 전략을 사용하는 방법
- 1. 만료 시간으로 keyexpirekeyseconds를 설정합니다. 시간 복잡도: O(1) 키의 만료 시간을 설정합니다. 시간 초과 후에는 키가 자동으로 삭제됩니다. Redis 용어에서 키와 관련된 시간 초과는 일시적입니다. 시간 초과 후에는 키에 대해 DEL, SET 또는 GETSET이 실행될 때만 지워집니다. 이는 개념적으로 키를 새 값으로 바꾸지 않고 키를 변경하는 모든 작업이 시간 초과를 변경하지 않고 유지한다는 의미입니다. 예를 들어 INCR을 사용하여 키 값을 늘리거나, LPUSH를 실행하여 새 값을 목록에 푸시하거나, HSET를 사용하여 해시 필드를 변경하면 시간 초과가 변경되지 않고 유지됩니다. PERSIST 명령을 사용하여 시간 초과를 지워
- Redis 1279 2023-06-04 09:14:42
-
- Redis 관련 문제를 해결하는 방법
- Redis 지속성 메커니즘 Redis는 지속성을 지원하는 인메모리 데이터베이스입니다. 지속성 메커니즘을 통해 메모리의 데이터를 하드 디스크 파일과 동기화하여 데이터 지속성을 보장합니다. Redis가 다시 시작되면 하드 디스크 파일을 메모리에 다시 로드하여 데이터를 복원할 수 있습니다. 구현 : 별도의 fork() 자식 프로세스를 생성하고, 현재 부모 프로세스의 데이터베이스 데이터를 자식 프로세스의 메모리에 복사한 후, 지속성 프로세스가 끝난 후 이를 자식 프로세스별로 임시 파일에 쓴다. 이 임시 파일을 사용하면 하위 프로세스가 종료되고 메모리가 해제됩니다. RDB는 Redis의 기본 지속성 방법입니다. 특정 기간 전략에 따라 메모리 데이터는 스냅샷 형식으로 하드 디스크의 바이너리 파일에 저장됩니다. 그게 Sn이야
- Redis 1160 2023-06-04 08:33:02
-
- Redis의 기술적인 포인트는 무엇인가요?
- 1. Redis를 사용하는 이유 저자는 프로젝트에서 Redis를 사용하는 것은 주로 성능과 동시성이라는 두 가지 관점에서 고려된다고 생각합니다. 물론 Redis에는 분산 잠금 및 기타 기능을 수행할 수 있는 다른 기능도 있지만 분산 잠금과 같은 다른 기능만을 위한 것이라면 대신 사용할 수 있는 다른 미들웨어(예: Zookpeer 등)가 있으며 Redis는 사용할 필요는 없습니다. 따라서 이 질문은 주로 성능과 동시성이라는 두 가지 관점에서 답변됩니다. 1. 성능은 아래 그림과 같습니다. 실행하는 데 특히 오랜 시간이 걸리고 결과가 자주 변경되지 않는 SQL을 접할 때 특히 적합합니다. 실행 결과를 캐시에 넣습니다. 이러한 방식으로 후속 요청을 캐시에서 읽으므로 요청에 신속하게 응답할 수 있습니다. 주제 외: 갑자기 이 빠른 응답에 대해 이야기하고 싶습니다.
- Redis 1002 2023-06-04 08:27:09
-
- Redis 클러스터 인스턴스 분석
- 1. K8s의 이유1. 리소스 격리 현재 RedisCluster는 리소스 활용도를 높이고 비용을 절감하기 위해 여러 비즈니스 라인의 Redis 클러스터를 혼합합니다. CPU 리소스 격리가 없기 때문에 특정 Redis 노드의 CPU 사용량이 너무 높아서 다른 Redis 클러스터 노드가 CPU 리소스를 놓고 경쟁하여 지연 지터가 발생하는 경우가 종종 있습니다. 다양한 클러스터가 혼합되어 있기 때문에 이러한 유형의 문제는 신속하게 찾기가 어렵고 운영 및 유지 관리 효율성에 영향을 미칩니다. K8s 컨테이너화된 배포는 CPUrequest 및 CPUlimit를 지정할 수 있어 리소스 활용도를 높이고 리소스 경합을 방지합니다. 2. 자동화된 배포 현재 물리적 시스템에 RedisCluster를 배포하는 프로세스는 매우 번거롭습니다.
- Redis 1557 2023-06-04 08:21:01
-
- Redis에서 RedisTemplate의 순서 및 역직렬화를 구성하는 방법
- RedisTemplate 구성 순서 및 역직렬화 Redis 작업을 위해 springboot에는 springdataredis라는 좋은 캡슐화가 있습니다. 일련의 Redis 작업을 수행하기 위해 고도로 캡슐화된 RedisTemplate 클래스가 제공되며, 연결 풀이 자동으로 관리되는 동시에 트랜잭션 캡슐화 작업이 처리를 위해 컨테이너로 넘겨집니다. 데이터의 "직렬화 및 역직렬화"를 위해 여러 전략(RedisSerializer)이 제공됩니다. 기본값은 StringRedisSerializer 및 JacksonJsonR뿐만 아니라 JdkSerializationRedisSerializer를 사용하는 것입니다.
- Redis 1413 2023-06-03 21:25:08
-
- Redis 정수 컬렉션을 사용하는 방법은 무엇입니까?
- 1. 세트 개요 세트의 경우 STL의 기본 구현은 레드-블랙 트리에 대해 모두가 잘 알고 있을 것입니다. 삽입, 삭제, 검색에 관계없이 시간 복잡도는 O(logn)입니다. 물론, 해시 테이블을 이용하여 수집을 구현하면 삽입, 삭제, 검색 모두 O(1)에 도달할 수 있다. 그렇다면 컬렉션이 해시 테이블이 아닌 레드-블랙 트리를 사용하는 이유는 무엇일까요? 가장 큰 가능성은 집합 자체의 특성에 있다고 생각합니다. 집합에는 교차, 결합, 차이라는 고유한 작업이 있습니다. 해시 테이블의 경우 이 세 가지 작업은 모두 O(n)입니다. 이를 기반으로 정렬되지 않은 해시 테이블보다 정렬된 레드-블랙 트리를 사용하는 것이 더 적합합니다. 2. Redis 정수 집합(intset) 오늘 이야기할 정수 집합은 intset이라고도 불리는 Redis입니다.
- Redis 1005 2023-06-03 21:18:54
-
- Linux에서 Redis 버전을 확인하는 명령은 무엇입니까?
- Linux 1에서 redis 버전을 확인하는 두 가지 명령, redis-server–version 및 redis-server-v2, redis-cli–version 및 redis-cli-v
- Redis 2955 2023-06-03 20:58:01
-
- Redis는 실시간 페이지 업데이트와 자동 온라인 업데이트를 어떻게 실현합니까?
- 요구 사항 설명: 일부 페이지는 광고 또는 이벤트 홍보 이미지로 구성되어야 합니다. 광고 또는 활동은 언제든지 온라인 및 오프라인으로 전환될 수 있어야 하며, 만료 후 자동으로 오프라인으로 전환되고, 때가 되면 자동으로 온라인으로 전환되어야 합니다. 예: 현재 시간은 2019-2-2216:16:13이고 결제 완료 페이지에서 보상 수집 활동을 구성해야 하며 활동은 2019-3-1000:00:00에 정시에 온라인으로 시작되어야 합니다. 2019-3-3023:59:59 활동 종료. 따라서 원하는 효과는 활동이 온라인 상태가 되기 전에 언제든지 활동을 구성한 후 해당 시간이 되면 페이지가 자동으로 온라인 상태가 되는 것입니다. 또한, 여러 다른 활동이나 광고가 있을 수 있으며, 각 페이지의 광고 수는 다양하며, 페이지마다 온라인 및 오프라인 시간이 다를 수 있으며, 다른 페이지에서도 이러한 기능을 구현해야 하며 페이지 간 활동이 반드시 필요한 것은 아닙니다. 똑같다. 수요 포인트
- Redis 1323 2023-06-03 20:56:17
-
- Redis 캐시 예제 코드 분석
- 1. 소개 1. 시나리오 데이터 사전은 자주 변경되지 않고 시스템은 데이터 사전에 더 자주 액세스하므로 데이터베이스 부담을 줄이고 액세스 속도를 향상시키기 위해 데이터 사전의 데이터를 캐시에 저장해야 합니다. . 여기서는 시스템의 분산 캐시 미들웨어로 Redis를 사용합니다. 2. RedisTemplate SpringBoot 프로젝트에는 기본적으로 SpringDataRedis가 통합되어 있습니다. SpringDataRedis는 매우 편리한 Redis용 작업 템플릿인 RedisTemplate을 제공하며 연결 풀을 자동으로 관리할 수 있습니다. 2. Redis1을 도입하고 Redisservice-base 모듈을 프로젝트에 통합합니다.
- Redis 1482 2023-06-03 20:37:56
-
- Redis 버퍼 오버플로를 해결하는 방법
- 버퍼는 메모리 공간의 일부입니다. 즉, 메모리 공간에는 일정량의 저장 공간이 예약되어 있으며, 이러한 저장 공간은 입력 또는 출력 데이터를 버퍼링하는 데 사용됩니다. 이 예약된 공간을 버퍼라고 합니다. 1. Redis 버퍼 오버플로의 영향 Redis에는 버퍼 개념이 사용되는 세 가지 주요 시나리오가 있습니다. 클라이언트와 서버 간 통신 시 클라이언트가 보낸 명령 데이터나 서버가 클라이언트로 반환한 데이터 결과를 임시로 저장하는 데 사용됩니다. 마스터 노드와 슬레이브 노드 간 데이터를 동기화할 때 Redis는 버퍼를 사용하여 임시 저장 마스터 노드가 수신한 쓰기 명령과 데이터가 Redis에 의해 AOF에 유지될 때 Redis는 빈번한 디스크 쓰기를 방지하기 위해 버퍼 개념도 사용합니다.
- Redis 1109 2023-06-03 20:13:41
-
- mongodb 및 redis 개발 환경과 프로덕션 환경의 구성 매개변수를 올바르게 설정하는 방법
- 코드를 작성할 때 일반적으로 우리는 자신의 컴퓨터에서 코드를 개발한 다음 서버에 코드를 배포합니다. 코드 조각이 데이터베이스 읽기 및 쓰기 또는 다른 온라인 서비스 인터페이스에 액세스하는 것과 관련된 경우 개발 중에 온라인 환경에 영향을 주지 않기 위해 일반적으로 테스트 환경의 데이터베이스와 온라인 환경의 데이터베이스를 분리합니다. 예를 들어, 우리 프로그램은 MongoDB와 Redis에 액세스해야 하므로 코드에서 다음과 같이 작성할 수 있습니다: importpymongoimportredishandler=pymongo.MongoClient('mongodb://username:password@127.0.0.
- Redis 1469 2023-06-03 20:04:15
-
- Redis 지식 포인트를 분석하는 방법
- 이는 유형이 아닌 데이터 구조입니다. 많은 기사에서는 Redis가 일반적으로 사용되는 5가지 데이터 유형을 지원한다고 말합니다. 이는 실제로 매우 모호합니다. Redis에 저장된 모든 바이너리 데이터는 실제로 바이트 배열(byte[])입니다. 이러한 바이트 데이터는 적절한 형식으로 디코딩한 후에만 문자열, 정수 또는 객체로 변환될 수 있습니다. 데이터 유형이 있습니다. 이것을 기억해야합니다. 따라서 바이트 배열(byte[])로 변환할 수 있는 모든 항목은 redis에 저장할 수 있습니다. 문자열, 숫자, 객체, 그림, 사운드, 동영상, 파일 등 무엇이든 상관없이 바이트 배열로 변경하면 됩니다. 따라서 redis의 문자열은 문자열을 참조하지 않고 실제로는 다음을 의미합니다.
- Redis 1024 2023-06-03 20:02:11