Implement caching some data locally, avoid querying the database repeatedly, stress the database, the code is as follows:
Package Threadlock;import Java.util.hashmap;import java.util.map;import Java.util.concurrent.locks.readwritelock;import Java.util.concurrent.locks.ReentrantReadWriteLock; Public classCathedemo {Privatemap<string, object> map =NewHashmap<string, object>(); PrivateReadwritelock RWL =NewReentrantreadwritelock ();//defining read-write Locks PublicObject getData (String key) {Rwl.readlock ().Lock(); Object value=NULL; Try{Value= map.Get(key); if(Value = =NULL) {rwl.readlock (). Unlock (); Rwl.writelock ().Lock(); Try { if(Value = =NULL) Value="DQWDWQD";//finding data from the database}Catch(Exception e) {e.printstacktrace (); }finally{rwl.writelock (). Unlock (); Rwl.readlock ().Lock(); } } } Catch(Exception e) {e.printstacktrace (); }finally{rwl.readlock (). Unlock (); } returnvalue; }}
Java emulated Database cache