redis 지속성 구성(그림 및 텍스트 소개)
redis 간략한 소개
redis는 c 언어
로 작성된 오픈 소스 고가용성 소프트웨어입니다. code>비관계형 데이터베이스(단순 데이터베이스가 아닌 NoSQL) 유형의 키-값 데이터베이스입니다. c语言
编写的,开源的高可用的非关系型数据库
(NoSQL,不仅仅是数据库)型的键值对(key-value)数据库。
与传统的数据库不同的是redis的数据是存在内存
메모리
에 존재하므로 읽기 및 쓰기 성능이 일반적으로 높지 않고 초당 100,000회 작업에 도달할 수 있으므로 캐싱에 널리 사용됩니다. 웹 사이트 아키텍처에서 Tomcat과 세션을 공유하고, 데이터베이스 캐싱을 수행하는 등의 작업을 수행합니다. redis의 장점과 단점장점- 빠른 읽기 및 쓰기 속도, 읽기는 110000회/초, 쓰기는 81000회/초에 도달하고, C 언어로 작성되었으며, 코드가 우아하고, 단일 스레드 아키텍처이므로 실행 효율성이 높고 빠릅니다
다양한 데이터 구조, 문자열(문자열, 가장 일반적으로 사용됨), 해시(해시), 목록(목록), 집합(SET), 순서 집합(ZSET) 지원 )- 자연 카운터, 키 만료 기능, 메시지 대기열 등과 같은 풍부한 기능
- 다양한 클라이언트 언어 지원, php, java, python 지원
- 데이터 지속성 지원
- 내장 마스터-슬레이브 복제, 센티넬, 고가용성 클러스터 등 다양한 고가용성 아키텍처
- 바로 데이터가 메모리에 저장되기 때문에 서버 성능 요구 사항이 엄격하며, 사업 규모에 따라 메모리를 선택할 수 있습니다.
- 온라인 확장이 어렵기 때문에 처음 구매 시 주의가 필요합니다
두 가지 영구 데이터 형식인 AOF, RDB 및 이 둘의 혼합인 AOF와 RDB를 지원합니다.
- 1AOF 파일은 rdb보다 더 자주 업데이트되므로 하드 디스크에 저장합니다. aof 복원을 선호합니다
- aof가 rdb보다 안전합니다
- rdb 성능이 aof보다 좋습니다. 데이터 양이 많을 경우 rdb보다 로그 복구 속도가 느립니다
- 연속 읽기 및 쓰기 중에는 , rdb가 스냅샷을 찍으면 데이터 지연이 발생합니다. 복구된 데이터는 불완전
데이터 유형 | 저장된 값 | 자주 사용하는 작업 명령 | 응용 시나리오 |
---|---|---|---|
string | string | SET(생성), GET(보기), DEL(삭제), MSET(일괄 생성), MGET(일괄 보기) | 캐시, 키-값 쌍의 만료 시간, 세션 저장 redis, 만료 후 삭제, 사용자 정보 캐시, Mysql 데이터 일부, 쇼핑몰 쿠폰 만료 시간 등 |
list | list | RPUSH(생성, 존재하는 경우 오른쪽에 추가), LPUSH(추가) 왼쪽, LRABGE+range(범위 값 보기), RPOP(오른쪽 마지막 값 삭제) a), LPOP(왼쪽 마지막 값 삭제) | 일반적으로 zset과 조합하여 사용되며 주로 순위에 사용되며, 인기/클릭 순위, 생방송 방 순위 등 |
hash | Hash | HMSET+ Object(오브젝트의 키값 생성, 대상 지정), HGET+ object(오브젝트의 매개변수 보기) | 일반적으로 키는 ID 또는 고유 식별자이고 값은 제품 정보, 개인 정보, 뉴스 등 해당 세부 정보입니다. |
SET | Unordered set | SADD(세트 생성), SMEMBERS(세트 보기), SREM(세트 값 삭제), SDIFF 세트 1 세트 2(차이 세트 찾기), SINTER 세트 1 세트 2(결합 찾기), SUNION 세트 1 세트 2(결합 찾기) | 공통 취미, 공통 친구 등 소셜 네트워크에 적용되는 교차점, 조합, 컬렉션 찾기 |
ZSET | Ordered set | SET | 을 사용하면 이를 목록과 결합하여 순위를 완성할 수 있습니다. |
redis 지속성 확보
redis 배포
1. 데이터 디렉토리 생성
mkdir -p /redis/soft mkdir -p /opt/redis_cluster/redis_6379/{conf,logs,pid}
conf,logs,pid 디렉토리를 초기화하고 자동 생성하는 대신 직접 생성하는 이유를 설명하세요
여러 파일을 열기 위함입니다. 하나의 호스트에서 최신 Redis 클러스터(최소 6개)를 구현하기 위한 Redis 프로세스(작성자 컴퓨터 구성으로 인해 임의로 작동할 수 없음)
2 Redis 설치 패키지를 다운로드합니다
cd /redis/soft wget http://download.redis.io/releases/redis-5.0.6.tar.gz
3. /
tar zxf redis-5.0.6.tar.gz -C /opt/redis_cluster/ ln -s /opt/redis_cluster/redis-5.0.6 /opt/redis_cluster/redis #做好软连接,方便自己管理
4. redis
cd /opt/redis_cluster/redis make && make install
5를 설치할 디렉터리를 변경하세요. 자신만의 구성 파일 /opt/redis_cluster/redis_6379/conf/6379.conf
/opt/redis_cluster/redis_6379/conf/6379.conf
添加一些重要的内容
添加: bind 127.0.0.1 192.168.10.1 port 6379 daemonize yes #开启daemon进程pidfile /opt/redis_cluster/redis_6379/pid/redis_6379.pid logfile /opt/redis_cluster/redis_6379/logs/redis_6379.log databases 16 dbfilename redis.rdb #RDB持久化文件dir /opt/redis_cluster/redis_6379 #RDB存放的位置
6.启动当前redis服务redis-server /opt/redis_cluster/redis_6379/conf/6379.conf
[root@redis-master ~]# netstat -anpt |grep 6379tcp 0 0 192.168.10.1:6379 0.0.0.0:* LISTEN 49206/redis-server tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 49206/redis-server tcp 0 0 127.0.0.1:41400 127.0.0.1:6379 TIME_WAIT - tcp 0 0 192.168.10.1:6379 192.168.10.8:46220 ESTABLISHED 49206/redis-server [root@redis-master ~]#
持久化之RDB配置
修改配置文件,添加save项
vim /opt/redis_cluster/redis_6379/conf/6379.conf 添加: save 900 1 #在900秒(15分钟)之后,如果至少有1个key发生变化,则dump内存快照。save 300 10 #在300秒(5分钟)之后,如果至少有10个key发生变化,则dump内存快照。save 60 500 #在60秒(1分钟)之后,如果至少有500个key发生变化,则dump内存快照
持久化之AOF配置
同为修改配置文件
添加appendonly,启用持久化
vim /opt/redis_cluster/redis_6379/conf/6379.conf 添加: appendonly yes #启用AOF持久化appendfilename "redis.aof" #指定AOF文件名appendfsync everysec #每秒同步一次
重启redis使其生效,验证持久化
redis-cli shutdownredis-server /opt/redis_cluster/redis_6379/conf/6379.conf
在redis数据库里面添加键值对
#!/bin/bashfor i in {1..500}do redis-cli set k_$i v_$idone
这时候关闭数据库,内存里的东西正常肯定会丢失,但是,现在肯定不会丢失的,而且还会有持久化的文件
[root@redis-master ~]# redis-cli shutdown[root@redis-master ~]# redis-server /opt/redis_cluster/redis_6379/conf/6379.conf [root@redis-master ~]# [root@redis-master ~]# redis-cli127.0.0.1:6379> keys k_500 1) "v_500"127.0.0.1:6379>
redis主从复制
为什么要做redis主从复制?
为解决单点故障把数据复制到一个或多个副本副本服务器(从服务器),实现冗余,达到故障恢复和负载均衡的目的
另起一台服务器,安装redis
1.为了简单,我们直接复制前边master
[root@redis-master ~]# scp -rp /opt/redis_cluster/ root@192.168.10.8:/opt
2.直接make install
安装redis,无须再编译,在master已经做过
修改配置文件
cd /opt/redis_cluster/redis vim /opt/redis_cluster/redis_6379/conf/6379.conf 修改: bind 127.0.0.1 192.168.10.8 slaveof 192.168.10.1 6379 #添加master的ip port保存退出
3.启动服务
redis-server /opt/redis_cluster/redis_6379/conf/6379.conf
主服务器上新建键值,测试从服务器自动同步
注:
从服务器在同步过程中,只能复制主数据库的数据,不能手动添加修改数据;
如果从服务器非要修改数据,需要断开同步:[root@redis-slave ~]# redis-cli slaveof no one
提示OK即可
如果master宕机的话,从服务器可以先手动断开同步
,这时候,他就是一个独立的个体,其他的从服务器再指向自己
중요한 내용을 추가하세요
redis-server /opt/redis_cluster/redis_6379/conf/6379.conf
구성 파일을 수정하고 저장 항목을 추가합니다rrreee
Persistence AOF 구성동일한 수정 구성 파일추가 전용 추가, 지속성 활성화
rrreee🎜redis를 다시 시작하여 적용하고 지속성 확인🎜rrreee🎜redis 데이터베이스에 키-값 쌍 추가🎜rrreee🎜

[root@redis-master ~]# scp -rp /opt/redis_cluster/ root@192.168.10.8:/opt
🎜🎜2를 직접 복사합니다. make install redis를 설치합니다. 다시 컴파일할 필요가 없습니다. 구성 파일이 master🎜🎜🎜rrreee🎜3에서 수정되었습니다. 서비스를 시작하세요🎜🎜redis-server /opt/redis_cluster/redis_6379/conf /6379.conf
code>🎜🎜메인 서버에 새 키 값을 생성하고 슬레이브 서버의 자동 동기화 테스트🎜🎜

[root@redis -slave ~]# redis-clislaveof no one
🎜🎜그냥 프롬프트 OK🎜🎜마스터가 다운되면 슬레이브 서버는 동기화를 수동으로 연결 해제
할 수 있습니다. 이때 그는 독립적인 개인이며 다른 슬레이브 서버는 자신을 가리켜
전환을 완료할 수 있습니다🎜🎜🎜🎜🎜🎜🎜 🎜이 기사는 https://blog.csdn.net/weixin_43815140/article/details /106128848🎜🎜에서 복제되었습니다. 더 많은 관련 지식을 보려면 🎜PHP 중국어 웹사이트🎜를 방문하세요! ! 🎜위 내용은 Redis 지속성 구성(그림 및 텍스트 소개)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

SQL은 관계형 데이터베이스를 관리하는 표준 언어이며 MySQL은 특정 데이터베이스 관리 시스템입니다. SQL은 통합 구문을 제공하며 다양한 데이터베이스에 적합합니다. MySQL은 가볍고 오픈 소스이며 안정적인 성능을 보이지만 빅 데이터 처리에는 병목 현상이 있습니다.

SQL 학습 곡선은 가파르지만 연습과 핵심 개념을 이해함으로써 마스터 할 수 있습니다. 1. 기본 작업에는 선택, 삽입, 업데이트, 삭제가 포함됩니다. 2. 쿼리 실행은 분석, 최적화 및 실행의 세 단계로 나뉩니다. 3. 기본 사용법은 직원 정보 쿼리와 같은 것이며 고급 사용량은 결합 연결 테이블 사용과 같은 것입니다. 4. 일반적인 오류에는 별칭 및 SQL 주입을 사용하지 않는 것이 포함되며,이를 방지하려면 매개 변수화 쿼리가 필요합니다. 5. 필요한 열을 선택하고 코드 가독성을 유지함으로써 성능 최적화가 달성됩니다.

SQL 명령은 MySQL에서 DQL, DDL, DML, DCL 및 TCL의 5 가지 범주로 나뉘어 데이터베이스 데이터를 정의, 운영 및 제어하는 데 사용됩니다. MySQL은 어휘 분석, 구문 분석, 최적화 및 실행을 통해 SQL 명령을 처리하고 인덱스 및 쿼리 최적화기를 사용하여 성능을 향상시킵니다. 사용의 예로는 데이터 쿼리에 대한 선택 및 다중 테이블 작업에 가입하는 것이 포함됩니다. 일반적인 오류에는 구문, 논리 및 성능 문제가 포함되며 최적화 전략에는 인덱스 사용, 쿼리 최적화 및 올바른 저장 엔진 선택이 포함됩니다.

SQL의 고급 쿼리 기술에는 하위 쿼리, 창 함수, CTE 및 복잡한 조인이 포함되어 복잡한 데이터 분석 요구 사항을 처리 할 수 있습니다. 1) 하위 쿼리는 각 부서에서 급여가 가장 높은 직원을 찾는 데 사용됩니다. 2) 창 함수와 CTE는 직원 급여 성장 동향을 분석하는 데 사용됩니다. 3) 성능 최적화 전략에는 인덱스 최적화, 쿼리 재 작성 및 파티션 테이블 사용이 포함됩니다.

MySQL은 표준 SQL 기능 및 확장을 제공하는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) MySQL은 한계 조항을 작성, 삽입, 업데이트, 삭제 및 확장과 같은 표준 SQL 작업을 지원합니다. 2) Innodb 및 Myisam과 같은 스토리지 엔진을 사용하여 다양한 시나리오에 적합합니다. 3) 사용자는 테이블 작성, 데이터 삽입 및 저장 프로 시저를 사용하는 것과 같은 고급 기능을 통해 MySQL을 효율적으로 사용할 수 있습니다.

sqlmakesdatamanagementaCcessibletoallbyprovingasimpleyetpooltooltoolforqueryinganddatabases.1) itworkswithrelationalDatabases.2) sql'sstrengthliesinfiltering, andjoiningdata, andjoiningdata, andjoiningdata

SQL 인덱스는 영리한 설계를 통해 쿼리 성능을 크게 향상시킬 수 있습니다. 1. B- 트리, 해시 또는 전문 지수와 같은 적절한 인덱스 유형을 선택하십시오. 2. 복합 인덱스를 사용하여 멀티 필드 쿼리를 최적화하십시오. 3. 데이터 유지 보수 오버 헤드를 줄이려면 과도한 인덱스를 피하십시오. 4. 불필요한 인덱스 재건 및 제거를 포함하여 정기적으로 인덱스를 유지합니다.

SQL에서 제약 조건을 삭제하려면 다음 단계를 수행하십시오. 삭제할 제약 조건을 식별하십시오. Alter Table 문을 사용하십시오. Alter Table Tame 이름 드롭 제약 조건 제한 이름; 삭제를 확인하십시오.


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경
