package Ġcom . tom b spawn . data Ċ Ċ import Ġorg . redis son . api . Redis son Client Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ abstract Ġclass ĠRedis < T > Ġconstructor ( private Ġval Ġredis Client : ĠRedis son Client ) Ġ{ ĊĠĠĠ Ġprivate Ġval ĠLOGGER Ġ= ĠLoggerFactory . getLogger (" com . tom b spawn . data . Redis ") ĊĊĠĠĠ Ġabstract Ġfun ĠgetData ( key : ĠString ): ĠT ? ĊĊĠĠĠ Ġabstract Ġfun ĠsetData ( key : ĠString , Ġvalue : ĠT , Ġttl : ĠLong ? Ġ= Ġnull , Ġtime Unit : ĠTimeUnit ? Ġ= Ġnull ) ĊĊĠĠĠ Ġabstract Ġfun Ġdelete Key ( key : ĠString ) ĊĊĠĠĠ Ġfun Ġclose () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġredis Client . shutdown () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( exception : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLOGGER . error (" Unable Ġto Ġclose Ġre dd ison Ġclient ", Ġexception ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }