Table of Contents
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
Data type
Implementing the persistence of redis
Deploying redis
Persistence RDB configuration
Persistence AOF configuration
Restart redis to make it effective, verify persistence
redis master-slave replication
Start another server and install redis
Create a new key value on the master server and test the automatic synchronization of the slave server
Home Database SQL Redis persistence configuration (picture and text introduction)

Redis persistence configuration (picture and text introduction)

Jun 17, 2020 pm 04:40 PM
redis

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}
Copy after login

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
Copy after login

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  #做好软连接,方便自己管理
Copy after login

4. Change directory to install redis

	cd /opt/redis_cluster/redis
	make && make install
Copy after login

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存放的位置
Copy after login

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 ~]#
Copy after login

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

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		#每秒同步一次
Copy after login

Restart redis to make it effective, verify persistence

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

Add key-value pairs in the redis database

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

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>
Copy after login

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保存退出
Copy after login

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 of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to build the redis cluster mode How to build the redis cluster mode Apr 10, 2025 pm 10:15 PM

Redis cluster mode deploys Redis instances to multiple servers through sharding, improving scalability and availability. The construction steps are as follows: Create odd Redis instances with different ports; Create 3 sentinel instances, monitor Redis instances and failover; configure sentinel configuration files, add monitoring Redis instance information and failover settings; configure Redis instance configuration files, enable cluster mode and specify the cluster information file path; create nodes.conf file, containing information of each Redis instance; start the cluster, execute the create command to create a cluster and specify the number of replicas; log in to the cluster to execute the CLUSTER INFO command to verify the cluster status; make

How to implement the underlying redis How to implement the underlying redis Apr 10, 2025 pm 07:21 PM

Redis uses hash tables to store data and supports data structures such as strings, lists, hash tables, collections and ordered collections. Redis persists data through snapshots (RDB) and append write-only (AOF) mechanisms. Redis uses master-slave replication to improve data availability. Redis uses a single-threaded event loop to handle connections and commands to ensure data atomicity and consistency. Redis sets the expiration time for the key and uses the lazy delete mechanism to delete the expiration key.

What to do if redis-server can't be found What to do if redis-server can't be found Apr 10, 2025 pm 06:54 PM

Steps to solve the problem that redis-server cannot find: Check the installation to make sure Redis is installed correctly; set the environment variables REDIS_HOST and REDIS_PORT; start the Redis server redis-server; check whether the server is running redis-cli ping.

How to view all keys in redis How to view all keys in redis Apr 10, 2025 pm 07:15 PM

To view all keys in Redis, there are three ways: use the KEYS command to return all keys that match the specified pattern; use the SCAN command to iterate over the keys and return a set of keys; use the INFO command to get the total number of keys.

How to read the source code of redis How to read the source code of redis Apr 10, 2025 pm 08:27 PM

The best way to understand Redis source code is to go step by step: get familiar with the basics of Redis. Select a specific module or function as the starting point. Start with the entry point of the module or function and view the code line by line. View the code through the function call chain. Be familiar with the underlying data structures used by Redis. Identify the algorithm used by Redis.

How to use the redis command How to use the redis command Apr 10, 2025 pm 08:45 PM

Using the Redis directive requires the following steps: Open the Redis client. Enter the command (verb key value). Provides the required parameters (varies from instruction to instruction). Press Enter to execute the command. Redis returns a response indicating the result of the operation (usually OK or -ERR).

How to read redis queue How to read redis queue Apr 10, 2025 pm 10:12 PM

To read a queue from Redis, you need to get the queue name, read the elements using the LPOP command, and process the empty queue. The specific steps are as follows: Get the queue name: name it with the prefix of "queue:" such as "queue:my-queue". Use the LPOP command: Eject the element from the head of the queue and return its value, such as LPOP queue:my-queue. Processing empty queues: If the queue is empty, LPOP returns nil, and you can check whether the queue exists before reading the element.

How to use redis lock How to use redis lock Apr 10, 2025 pm 08:39 PM

Using Redis to lock operations requires obtaining the lock through the SETNX command, and then using the EXPIRE command to set the expiration time. The specific steps are: (1) Use the SETNX command to try to set a key-value pair; (2) Use the EXPIRE command to set the expiration time for the lock; (3) Use the DEL command to delete the lock when the lock is no longer needed.

See all articles