<prompt> Andika programu ya Java inayounganishwa na hifadhidata ya Redis, kuhifadhi jozi za thamani-ufunguo zinazotolewa na mtumiaji, na kupata thamani kulingana na vitufe vilivyotolewa. Programu inapaswa kutumia hoja za mstari wa amri kwa kubainisha anwani ya IP ya seva ya Redis na nambari ya mlango.PLINFORMAT  <response>: agiza redis.clients.jedis.Jedis;agiza java.util.Skena;darasa la umma RedisConnection utupu tuli wa umma String args ikiwa args.length ! 2 System.err.printlnMatumizi: java RedisConnection ; kurudi; Kamba ipAddress args0; int portNumber; jaribu portNumber Integer.parseIntargs1; kamata NumberFormatException e System.err.printlnHitilafu: Nambari ya mlango si sahihi.; kurudi; Jedis jedis Jedis mpyaipAddress, portNumber; jaribu Uunganisho wa mtihani jedis.ping; kukamata Isipokuwa e System.err.printlnHitilafu: Haiwezi kuunganisha kwenye seva ya Redis kwenye ipAddress : portNumber; kurudi; Kichanganuzi cha kichanganuzi Kichanganuzi kipya System.in; wakati kweli System.out.printlnnChagua chaguo:; System.out.println1. Hifadhi jozi ya thamani ya ufunguo; System.out.println2. Rejesha thamani kwa ufunguo; System.out.println3. Toka; int choice scanner.nextInt; scanner.nextLine; Tumia herufi mpya kubadili chaguo kesi 1: System.out.printIngiza kitufe: ; Kitufe cha kamba scanner.nextLine; System.out.printIngiza thamani: ; Thamani ya kamba scanner.nextLine; jedis.setufunguo, thamani; System.out.printlnJozi za thamani kuu zimehifadhiwa kwa mafanikio.; mapumziko; kesi 2: System.out.printIngiza kitufe: ; key scanner.nextLine; thamani jedis.getkey; ikiwa thamani null System.out.printlnHakuna thamani iliyopatikana kwa ufunguo uliotolewa.; nyengine System.out.printlnThamani: thamani; mapumziko; kesi 3: skana.funga; jedis.funga; kurudi; chaguo-msingi: System.out.printlnChaguo batili. Tafadhali jaribu tena.; 