当前位置:网站首页>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
边栏推荐
- 模板_快速排序_双指针
- Social networking website for college students based on computer graduation design PHP
- Xshell 7 Student Edition
- Httprunnermanager installation (III) - configuring myql Database & initialization data under Linux
- [solution] add multiple directories in different parts of the same word document
- Bigder: I felt good about the 34/100 interview, but I didn't receive the admission
- Multi function event recorder of the 5th National Games of the Blue Bridge Cup
- 爬虫(9) - Scrapy框架(1) | Scrapy 异步网络爬虫框架
- 高数_向量代数_单位向量_向量与坐标轴的夹角
- 729. My schedule I / offer II 106 Bipartite graph
猜你喜欢
Initial understanding of pointer variables
Overview of spark RDD
Computer graduation design PHP part-time recruitment management system for College Students
0211 embedded C language learning
Visualstudio2019 compilation configuration lastools-v2.0.0 under win10 system
Online reservation system of sports venues based on PHP
Shell脚本更新存储过程到数据库
Using SA token to solve websocket handshake authentication
Multi function event recorder of the 5th National Games of the Blue Bridge Cup
[Clickhouse] Clickhouse based massive data interactive OLAP analysis scenario practice
随机推荐
729. My schedule I / offer II 106 Bipartite graph
零基础自学STM32-野火——GPIO复习篇——使用绝对地址操作GPIO
[Clickhouse] Clickhouse based massive data interactive OLAP analysis scenario practice
Minecraft 1.18.1, 1.18.2 module development 22 Sniper rifle
[depth first search] Ji Suan Ke: Betsy's trip
PAT甲级 1033 To Fill or Not to Fill
[coppeliasim] 6-DOF path planning
How to improve the level of pinduoduo store? Dianyingtong came to tell you
VIM usage guide
Use Scrollview and tabhost to realize vertical scrollbars and tabs
机器学习训练与参数优化的一般过程 (讨论)
Minecraft 1.18.1、1.18.2模组开发 22.狙击枪(Sniper Rifle)
剑指 Offer 30. 包含min函数的栈
[robot library] awesome robots Libraries
[eight part essay] what is the difference between unrepeatable reading and unreal reading?
Method of changing object properties
更换gcc版本后,编译出现make[1]: cc: Command not found
How does redis implement multiple zones?
High number_ Vector algebra_ Unit vector_ Angle between vector and coordinate axis
事故指标统计