package Ġorg . d 7 z . light . db . j edis Ċ Ċ import Ġorg . d 7 z . light . db . api . Light DB Ċ import Ġorg . d 7 z . light . db . api . struct . List Context Ċ import Ġorg . d 7 z . light . db . api . struct . Map Context Ċ import Ġorg . d 7 z . light . db . api . struct . Set Context Ċ import Ġorg . d 7 z . light . db . j edis . structs . list . J edis List Context Ċ import Ġorg . d 7 z . light . db . j edis . structs . map . J edis Map Context Ċ import Ġorg . d 7 z . light . db . j edis . structs . set . J ed isSet Context Ċ import Ġorg . d 7 z . objects . format . api . IData Cover t Ċ import Ġjava . util . concurrent . Concurrent HashMap Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ġ åŁºäºİ ĠJ edis Ġ å®ŀçİ° çļĦ ĠLight DB Ċ Ġ* Ċ Ġ* Ġ@ property Ġpool ĠLight J edis Pool Ġjed is Ġ è¿ŀæİ¥ æ±ł æĬ½ è±¡ Ċ Ġ* Ġ@ property Ġdata Cover t ĠI Data Cover t Ġå¯¹è±¡ è½¬æį¢ æİ¥åı£ Ċ Ġ* Ġ@ property Ġcache ĠBoolean Ġ å¼ĢåĲ¯ Ġcontext Ġ ç¼ĵåŃĺ Ċ Ġ* Ġ@ constructor Ċ Ġ*/ Ċ class ĠJ edis Light DB Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġheader : ĠString Ġ= Ġ"", Ġ// Ġä¼ļ è¯Ŀ åŃĺåĤ¨ åĪ° Ġjed is Ġ æĹ¶çļĦ åĳ½åĲį ç©ºéĹ´ ĊĠĠĠ Ġprivate Ġval Ġpool : ĠLight J edis Pool Ġ= ĠLight J edis Pool , ĊĠĠĠ Ġprivate Ġval Ġdata Cover t : ĠI Data Cover t Ġ= ĠI Data Cover t , ĊĠĠĠ Ġprivate Ġval Ġcache : ĠBoolean Ġ= Ġfalse , Ċ ) Ġ: ĠLight DB Ġ{ ĊĠĠĠ Ġoverride Ġval Ġname Ġ= Ġ" Light DB ĠJ edis ĠSupport " ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġpool . session Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . exists (" 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġhead Ġ= Ġif Ġ( header . isBlank ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġ"$ header :" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġcached Map Group Ġ= ĠConcurrent HashMap < String , ĠMap Context >() ĊĊĠĠĠ Ġprivate Ġval Ġcached Set Group Ġ= ĠConcurrent HashMap < String , ĠSet Context >() ĊĠĠĠ Ġprivate Ġval Ġcached List Group Ġ= ĠConcurrent HashMap < String , ĠList Context >() ĊĊĠĠĠ Ġoverride Ġfun Ġwith List ( name : ĠString ): ĠList Context Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( cache ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcached List Group . get Or Put ( name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJ edis List Context ("${ head } list :$ name ", Ġpool , Ġdata Cover t ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJ edis List Context ("${ head } list :$ name ", Ġpool , Ġdata Cover t ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwith Map ( name : ĠString ): ĠMap Context Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( cache ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcached Map Group . get Or Put ( name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJ edis Map Context ("${ head } map :$ name ", Ġpool , Ġdata Cover t ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJ edis Map Context ("${ head } map :$ name ", Ġpool , Ġdata Cover t ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwith Set ( name : ĠString ): ĠSet Context Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( cache ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcached Set Group . get Or Put ( name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJ ed isSet Context ("${ head } set :$ name ", Ġpool , Ġdata Cover t ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJ ed isSet Context ("${ head } set :$ name ", Ġpool , Ġdata Cover t ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclose () Ġ{ ĊĠĠĠĠĠĠĠ Ġpool . close () ĊĠĠĠ Ġ} Ċ } Ċ