search
HomeDatabaseSQLRedis persistence configuration (picture and text introduction)

Redis persistence configuration (picture and text introduction)

##Persistence configuration of redis (picture and text introduction)

redis brief introduction

redis is an open source, highly available

non-relational database written in c language (NoSQL, not just a database) A key-value database.

Different from traditional databases, redis data exists in

memory, so the read and write performance is not generally high and can reach 100,000 operations per second, so it is widely used Go to the caching direction, for example: share sessions with tomcat in the website architecture, do database caching, etc.

Advantages and disadvantages of redis

Advantages

  1. The reading and writing speed is fast, the reading can reach 110000 times/s, and the writing can reach 81000 times/s. Written in C language, the code is elegant, and it is a single-threaded architecture, so the execution efficiency is high and the speed is fast

  2. Supports multiple data structures, string (string, also the most commonly used), Hash, list, set, ordered set (ZSET)


  3. Rich functions, such as: natural counter, key expiration function, Message queue, etc.

  4. Supports many client languages, supports php, java, python

  5. Supports data persistence

  6. Comes with a variety of high-availability architectures, such as: master-slave replication, sentry, high-availability cluster

Disadvantages

  1. Precisely because the data is stored in the memory, the requirements for server performance are strict. You can choose how much memory to purchase based on the business volume. It is difficult to achieve online expansion, so the first purchase requires Caution

  2. Persistence is mentioned above, what is persistence?

    Persistence supports writing data in memory to disk to prevent all data in memory from being lost if the server goes down.
How to achieve persistence

Supports two formats of persistent data AOF, RDB, and the mixed use of these two AOF&RDB

Note: When these are turned on, redis AOF is preferred for data recovery, but RDB is the default persistence method.

AOF persistence: It records every command executed by redis into a separately designated log file. When restarting or data is to be restored, the data in the log file will be restored

RDB : Just like taking a snapshot, define the snapshot period according to the save parameters defined in the configuration file, and then save it to the hard disk. A dump.rdb file will be generated.

Comparison between AOF and RDB:

1AOF files are updated more frequently than rdb, priority is given to using aof to restore

  1. aof is more secure than rdb

  2. rdb performance Better than aof, when the amount of data is large, the log recovery speed is slower than rdb

  3. When reading and writing continuously, if rdb takes a snapshot, there will be data delay and the recovered data will be incomplete

  4. Redis data structure

Data type

Storage valueCommonly used operations Command Application scenariosstringStringSET (create), GET ( View), DEL (delete), MSET (batch creation), MGET (batch view for caching, expiration time of key-value pairs, save session in redis, delete after expiration, cache user information, cache Mysql part Data, mall coupon expiration time, etc.listListRPUSH (create, add to the right if it exists), LPUSH (add to the left , LRABGE range (view range value), RPOP (delete the last one on the right), LPOP (delete the last one on the left) Generally used in combination with zset, mainly used in rankings, popularity/click rankings, and live broadcasts Ranking among the top brothers on the list, etc. hashHashHMSET object (create the key value of the object, targeting an object), HGET Object (view a parameter of the object) Generally the key is an ID or unique identifier, and the value is the corresponding detailed information, such as: product information, personal information, news, etc.SETUnordered setSADD (create a set), SMEMBERS (view a set), SREM (delete the value of a set), SDIFF set 1 set 2 (find the difference set), SINTER Set 1 Set 2 (finding the union), SUNION Set 1 Set 2 (finding the union) Find the intersection, union, collection, applied to social networks, such as: common hobbies, common friends, etc.ZSETOrdered SetSame as SETcan be combined with list to complete the ranking

Implementing the persistence of redis

Deploying redis

1. Create a data directory

mkdir -p /redis/soft
mkdir -p /opt/redis_cluster/redis_6379/{conf,logs,pid}

Explain why you create the conf, logs, and pid directories yourself instead of letting them Initialization is automatically generated
We are in order to start multiple redis processes on one host to realize the later redis cluster (at least 6) (Author computer configuration does not allow me to operate arbitrarily)

2. Download redis Installation package

cd /redis/soft
wget http://download.redis.io/releases/redis-5.0.6.tar.gz

3. Unzip redis to /opt/redis_cluster/

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. Change directory to install redis

	cd /opt/redis_cluster/redis
	make && make install

5. Write your own configuration file/opt /redis_cluster/redis_6379/conf/6379.conf
Add some important content

添加:
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. Start the current redis service
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 ~]#

Persistence RDB configuration

Modify the configuration file and add the save item

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内存快照

Persistence AOF configuration

Same as modifying the configuration file
Add appendonly, enable persistence

vim /opt/redis_cluster/redis_6379/conf/6379.conf
添加:
appendonly yes				#启用AOF持久化appendfilename "redis.aof"	#指定AOF文件名appendfsync everysec		#每秒同步一次

Restart redis to make it effective, verify persistence

redis-cli shutdownredis-server /opt/redis_cluster/redis_6379/conf/6379.conf

Add key-value pairs in the redis database

#!/bin/bashfor i in {1..500}do 
	redis-cli set k_$i v_$idone

Redis persistence configuration (picture and text introduction)

When you close the database at this time, the things in the memory will definitely be lost, but now they will definitely not be lost, and there will be persistent files

[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 persistence configuration (picture and text introduction)

redis master-slave replication

Why do we need to do redis master-slave replication?
In order to solve the single point of failure, copy the data to one or more replica servers (slave servers) to achieve redundancy and achieve the purpose of fault recovery and load balancing

Start another server and install redis

1. For simplicity, we directly copy the previous master

[root@redis-master ~]# scp -rp /opt/redis_cluster/ root@192.168.10.8:/opt

2. Directlymake installinstall redis without compiling. The master has already

modified the configuration file

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. Start the service

redis-server /opt/redis_cluster/redis_6379/conf/6379.conf

Create a new key value on the master server and test the automatic synchronization of the slave server

Redis persistence configuration (picture and text introduction)
Redis persistence configuration (picture and text introduction)
Note:
During the synchronization process, the slave server can only copy the data of the master database, and cannot manually add and modify data;
If the slave server must modify Data needs to be disconnected from synchronization:
[root@redis-slave ~]# redis-cli slaveof no one

Just prompt OK

If the master is down If the machine is running, the slave server can manually disconnect the synchronization first. At this time, it is an independent individual. The other slave servers can thenpoint to itself to complete the switch

This article is reproduced from: https://blog.csdn.net/weixin_43815140/article/details/106128848

More related knowledge , please visit PHP Chinese website! !

The above is the detailed content of Redis persistence configuration (picture and text introduction). For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:CSDN. If there is any infringement, please contact admin@php.cn delete
Getting Started with SQL: Essential Concepts and SkillsGetting Started with SQL: Essential Concepts and SkillsApr 22, 2025 am 12:01 AM

SQL is a language used to manage and operate relational databases. 1. Create a table: Use CREATETABLE statements, such as CREATETABLEusers(idINTPRIMARYKEY, nameVARCHAR(100), emailVARCHAR(100)); 2. Insert, update, and delete data: Use INSERTINTO, UPDATE, DELETE statements, such as INSERTINTOusers(id, name, email)VALUES(1,'JohnDoe','john@example.com'); 3. Query data: Use SELECT statements, such as SELEC

SQL: The Language, MySQL: The Database Management SystemSQL: The Language, MySQL: The Database Management SystemApr 21, 2025 am 12:05 AM

The relationship between SQL and MySQL is: SQL is a language used to manage and operate databases, while MySQL is a database management system that supports SQL. 1.SQL allows CRUD operations and advanced queries of data. 2.MySQL provides indexing, transactions and locking mechanisms to improve performance and security. 3. Optimizing MySQL performance requires attention to query optimization, database design and monitoring and maintenance.

What SQL Does: Managing and Manipulating DataWhat SQL Does: Managing and Manipulating DataApr 20, 2025 am 12:02 AM

SQL is used for database management and data operations, and its core functions include CRUD operations, complex queries and optimization strategies. 1) CRUD operation: Use INSERTINTO to create data, SELECT reads data, UPDATE updates data, and DELETE deletes data. 2) Complex query: Process complex data through GROUPBY and HAVING clauses. 3) Optimization strategy: Use indexes, avoid full table scanning, optimize JOIN operations and paging queries to improve performance.

SQL: A Beginner-Friendly Approach to Data Management?SQL: A Beginner-Friendly Approach to Data Management?Apr 19, 2025 am 12:12 AM

SQL is suitable for beginners because it is simple in syntax, powerful in function, and widely used in database systems. 1.SQL is used to manage relational databases and organize data through tables. 2. Basic operations include creating, inserting, querying, updating and deleting data. 3. Advanced usage such as JOIN, subquery and window functions enhance data analysis capabilities. 4. Common errors include syntax, logic and performance issues, which can be solved through inspection and optimization. 5. Performance optimization suggestions include using indexes, avoiding SELECT*, using EXPLAIN to analyze queries, normalizing databases, and improving code readability.

SQL in Action: Real-World Examples and Use CasesSQL in Action: Real-World Examples and Use CasesApr 18, 2025 am 12:13 AM

In practical applications, SQL is mainly used for data query and analysis, data integration and reporting, data cleaning and preprocessing, advanced usage and optimization, as well as handling complex queries and avoiding common errors. 1) Data query and analysis can be used to find the most sales product; 2) Data integration and reporting generate customer purchase reports through JOIN operations; 3) Data cleaning and preprocessing can delete abnormal age records; 4) Advanced usage and optimization include using window functions and creating indexes; 5) CTE and JOIN can be used to handle complex queries to avoid common errors such as SQL injection.

SQL and MySQL: Understanding the Core DifferencesSQL and MySQL: Understanding the Core DifferencesApr 17, 2025 am 12:03 AM

SQL is a standard language for managing relational databases, while MySQL is a specific database management system. SQL provides a unified syntax and is suitable for a variety of databases; MySQL is lightweight and open source, with stable performance but has bottlenecks in big data processing.

SQL: The Learning Curve for BeginnersSQL: The Learning Curve for BeginnersApr 16, 2025 am 12:11 AM

The SQL learning curve is steep, but it can be mastered through practice and understanding the core concepts. 1. Basic operations include SELECT, INSERT, UPDATE, DELETE. 2. Query execution is divided into three steps: analysis, optimization and execution. 3. Basic usage is such as querying employee information, and advanced usage is such as using JOIN connection table. 4. Common errors include not using alias and SQL injection, and parameterized query is required to prevent it. 5. Performance optimization is achieved by selecting necessary columns and maintaining code readability.

SQL: The Commands, MySQL: The EngineSQL: The Commands, MySQL: The EngineApr 15, 2025 am 12:04 AM

SQL commands are divided into five categories in MySQL: DQL, DDL, DML, DCL and TCL, and are used to define, operate and control database data. MySQL processes SQL commands through lexical analysis, syntax analysis, optimization and execution, and uses index and query optimizers to improve performance. Examples of usage include SELECT for data queries and JOIN for multi-table operations. Common errors include syntax, logic, and performance issues, and optimization strategies include using indexes, optimizing queries, and choosing the right storage engine.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.