当前位置:网站首页>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

 Insert picture description here

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
原网站

版权声明
本文为[Flying rookie uncle]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202140022280058.html