File tree Expand file tree Collapse file tree 2 files changed +21
-1
lines changed
src/main/java/com/github/shyiko/mysql/binlog/event Expand file tree Collapse file tree 2 files changed +21
-1
lines changed Original file line number Diff line number Diff line change
1
+ package com .github .shyiko .mysql .binlog .event ;
2
+
3
+ import java .util .LinkedHashMap ;
4
+ import java .util .Map ;
5
+
6
+ public class LRUCache <K ,V > extends LinkedHashMap <K ,V > {
7
+ private int maxSize ;
8
+
9
+ // and other constructors for load factor and hashtable capacity
10
+ public LRUCache (int initialCapacity , float loadFactor , int maxSize ) {
11
+ super (initialCapacity , loadFactor , true );
12
+ this .maxSize = maxSize ;
13
+ }
14
+
15
+ @ Override
16
+ protected boolean removeEldestEntry (Map .Entry <K , V > eldest ) {
17
+ return size () > maxSize ;
18
+ }
19
+ }
Original file line number Diff line number Diff line change 20
20
import com .github .shyiko .mysql .binlog .event .EventHeader ;
21
21
import com .github .shyiko .mysql .binlog .event .EventType ;
22
22
import com .github .shyiko .mysql .binlog .event .FormatDescriptionEventData ;
23
+ import com .github .shyiko .mysql .binlog .event .LRUCache ;
23
24
import com .github .shyiko .mysql .binlog .event .TableMapEventData ;
24
25
import com .github .shyiko .mysql .binlog .io .ByteArrayInputStream ;
25
26
@@ -65,7 +66,7 @@ public EventDeserializer(
65
66
this .eventHeaderDeserializer = eventHeaderDeserializer ;
66
67
this .defaultEventDataDeserializer = defaultEventDataDeserializer ;
67
68
this .eventDataDeserializers = new IdentityHashMap <EventType , EventDataDeserializer >();
68
- this .tableMapEventByTableId = new HashMap < Long , TableMapEventData >( );
69
+ this .tableMapEventByTableId = new LRUCache <>( 100 , 0.75f , 10000 );
69
70
registerDefaultEventDataDeserializers ();
70
71
afterEventDataDeserializerSet (null );
71
72
}
You can’t perform that action at this time.
0 commit comments