当前位置:网站首页>Redis delete policy
Redis delete policy
2022-07-06 02:26:00 【Flying rookie uncle】
One 、 Deletion policy
1. Expired data
- stay redis Medium , Data with expiration time set
- When a data expires , It will not be deleted from memory immediately
- Data storage form : Maintained a value And the corresponding expiration time
2. Deletion policy
- The deletion strategy refers to targeting expires Operate in the area
- I'm sure it won't happen because of a lot of expire, Crush the server
2.1 Delete regularly
# 1. Realization way
Create a timer , When key When there is an expiration time , Time is up. , The timer task will be executed immediately
take expires Areas and k-v Areas are deleted
# 2. Advantages and disadvantages
advantage : To save memory
shortcoming :cpu pressure , There is no way at this time cpu How high is the load , Will occupy cpu To release , influence redis Throughput
2.2 Lazy deletion
# 1. Realization way
After the data has expired , It's not going to be deleted immediately
Wait until the next time the data is accessed ,redis Will delete the data , And return the value as nil
# 2 Advantages and disadvantages
advantage : save cpu Resources for
shortcoming : There may be a lot of , Unattended data will always be stored on the server
2.3 Delete periodically
# 1. Realization way
Every second, I will check redis Poll the data of each library in
Polled data , Randomly delete some expired data
If the ratio of randomly deleted data to rotation training data exceeds a certain value , Continue polling for deletion
Two 、 Eviction strategy
- If no expiration time is set for all data , Then the data will always be saved
- If too much data is stored , Then there will be redis Out of memory problem
- The eviction strategy is aimed at this problem
- New data enters redis in , If there is not enough memory , Will eject the algorithm many times . If it still fails , Will appear OOM error
1 Detect volatile data
- That is, data that may expire
1. volatile-lru: least recently used: Recently, the least used data has been eliminated
2. volatile-lfu:least frequently used: The data that has been used least recently is eliminated
3. volatile-ttl: Data that is about to expire will be eliminated
4. volatile-random: Randomly selected data
2 Full database data
1. volatile-lru: least recently used: Recently, the least used data has been eliminated
2. volatile-lfu:least frequently used: The data that has been used least recently is eliminated
3. volatile-random: Randomly selected data
3 Abandon data drive
noeviction: Exclusion data , May trigger OOM
The default configuration
4. Configuration mode
- redis.conf Configuration in file
maxmemory-policy noeviction
边栏推荐
- 【MySQL 15】Could not increase number of max_open_files to more than 10000 (request: 65535)
- Bigder: I felt good about the 34/100 interview, but I didn't receive the admission
- Grabbing and sorting out external articles -- status bar [4]
- How does redis implement multiple zones?
- 2022 China eye Expo, Shandong vision prevention and control exhibition, myopia, China myopia correction Exhibition
- Number conclusion LC skimming review - 1
- Virtual machine network, networking settings, interconnection with host computer, network configuration
- Computer graduation design PHP college student human resources job recruitment network
- Exness: Mercedes Benz's profits exceed expectations, and it is predicted that there will be a supply chain shortage in 2022
- [Clickhouse] Clickhouse based massive data interactive OLAP analysis scenario practice
猜你喜欢
论文笔记: 图神经网络 GAT
Multi function event recorder of the 5th National Games of the Blue Bridge Cup
Initial understanding of pointer variables
Executing two identical SQL statements in the same sqlsession will result in different total numbers
2022年版图解网络PDF
How to improve the level of pinduoduo store? Dianyingtong came to tell you
好用的 JS 脚本
Overview of spark RDD
Computer graduation design PHP college student human resources job recruitment network
[postgraduate entrance examination English] prepare for 2023, learn list5 words
随机推荐
Prepare for the autumn face-to-face test questions
【coppeliasim】6自由度路径规划
Using SA token to solve websocket handshake authentication
[coppeliasim] 6-DOF path planning
Minecraft 1.18.1、1.18.2模组开发 22.狙击枪(Sniper Rifle)
Initial understanding of pointer variables
Xshell 7 Student Edition
高数_向量代数_单位向量_向量与坐标轴的夹角
模板_求排列逆序对_基于归并排序
SPI communication protocol
Shell脚本更新存储过程到数据库
[solution] add multiple directories in different parts of the same word document
Global and Chinese markets hitting traffic doors 2022-2028: Research Report on technology, participants, trends, market size and share
Crawler (9) - scrape framework (1) | scrape asynchronous web crawler framework
Dachang image library
从顶会论文看2022年推荐系统序列建模的趋势
[robot library] awesome robots Libraries
After changing the GCC version, make[1] appears in the compilation: cc: command not found
好用的 JS 脚本
Computer graduation design PHP campus restaurant online ordering system