package Ġextension Ċ Ċ import Ġcom . sa ff rame work . rx cache . Rx Cache Ċ import Ġcom . sa ff rame work . rx cache . ext . get Ċ import Ġcom . sa ff rame work . rx cache . ext . save Func Ċ import Ġdomain . User Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġt ony Ġon Ġ 2 0 1 9 - 0 8 - 1 3 . Ċ Ġ*/ Ċ fun Ġmain () Ġ{ ĊĊĠĠĠ ĠRx Cache . config ( Rx Cache . Builder ()) ĊĊĠĠĠ Ġval Ġrx Cache Ġ= ĠRx Cache . get Rx Cache () ĊĊĠĠĠ Ġrx Cache . save Func (" test 1 ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġu Ġ= ĠUser () ĊĠĠĠĠĠĠĠ Ġu . name Ġ= Ġ" ton y " ĊĠĠĠĠĠĠĠ Ġu . password Ġ= Ġ" 1 2 3 4 5 6 " ĊĠĠĠĠĠĠĠ Ġu ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġrx Cache . get < User >(" test 1 ") ?. let Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġu Ġ= Ġit . data ĊĊĠĠĠĠĠĠĠ Ġprintln ( u . name ) ĊĠĠĠĠĠĠĠ Ġprintln ( u . password ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġrx Cache . save Func (" test 2 ") Ġ{ ĊĠĠĠĠĠĠĠ Ġ" hello Ġworld " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġrx Cache . get < String >(" test 2 ") ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( it . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġrx Cache . save Func (" test 3 ", 5 , ĠTimeUnit . SECONDS ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġu Ġ= ĠUser () ĊĠĠĠĠĠĠĠ Ġu . name Ġ= Ġ" ton y " ĊĠĠĠĠĠĠĠ Ġu . password Ġ= Ġ" 1 2 3 4 5 6 " ĊĠĠĠĠĠĠĠ Ġu ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 2 3 0 0 ) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠInterruptedException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprintln (" ttl =" Ġ+ Ġrx Cache . ttl (" test 3 ", ĠUser :: class . java )) Ċ }