java中操作redis
1 package com.redis; 2 3 import java.io.IOException; 4 import java.util.concurrent.ConcurrentHashMap; 5 6 import redis.clients.jedis.Jedis; 7 import redis.clients.jedis.Transaction; 8 /** 9 * java中操作redis 10 * 11 * @author Administrator 12 * 13 */ 14 public class RedisTest { 15 16 // 连接redis 17 private static synchronized Jedis getJedis(String ip){ 18 final Jedis jr = new Jedis(ip); 19 jr.auth("@admin123"); 20 System.out.println("连接成功: \t"+jr.ping()); 21 return jr; 22 } 23 // 关闭redis连接 24 private static synchronized void closeJedis(Jedis jr){ 25 jr.close(); 26 } 27 // 判断是否存在key 28 private static boolean keyIsExist(Jedis jd,String key){ 29 return jd.exists(key); 30 } 31 // 删除元素 32 private static void delKey(Jedis jd, String key){ 33 jd.del(key); 34 } 35 // 操作String 36 private static synchronized void opString(Jedis jr){ 37 if(keyIsExist(jr,"company")) 38 delKey(jr,"company"); 39 jr.set("company", "oracle"); 40 System.out.println(jr.get("company")); 41 } 42 // 操作hash 43 private static void opHash(Jedis jr){ 44 if(keyIsExist(jr,"user1")) 45 delKey(jr,"user1"); 46 ConcurrentHashMap<String,String> chm = new ConcurrentHashMap<String, String>(); 47 chm.put("name", "Tom"); 48 chm.put("age", "26"); 49 chm.put("major", "computer"); 50 jr.hmset("user1", chm); 51 System.out.println(jr.hgetAll("user1").get("name")); 52 System.out.println(jr.hgetAll("user1").get("age")); 53 System.out.println(jr.hgetAll("user1").get("major")); 54 } 55 // 操作list 56 private static synchronized void opList(Jedis jr){ 57 if(keyIsExist(jr,"colorSet")) 58 delKey(jr,"colorSet"); 59 jr.lpush("colorSet", "red","blue","yellow","red"); 60 System.out.println(jr.lrange("colorSet", 0, 10)); 61 } 62 // 操作Set 63 private static synchronized void opSet(Jedis jr){ 64 if(keyIsExist(jr,"hobby")) 65 delKey(jr,"hobby"); 66 jr.sadd("hobby", "running","basketball","volleyball","volleyball"); 67 System.out.println(jr.smembers("hobby")); 68 System.out.println(jr.smembers("hobby").size()); 69 } 70 // 操作ZSet 71 private static synchronized void opZset(Jedis jr){ 72 if(keyIsExist(jr,"hobby2")) 73 delKey(jr,"hobby2"); 74 jr.zadd("hobby2",2.0, "running"); 75 jr.zadd("hobby2",2.0, "basketball"); 76 jr.zadd("hobby2",2.0, "volleyball"); 77 jr.zadd("hobby2",2.0, "volleyball"); 78 for(String s:jr.zrangeByScore("hobby2", 0, 4)) 79 System.out.println(s); 80 } 81 // 数据库备份 82 private static synchronized void save(Jedis jr){ 83 jr.save(); 84 } 85 // 事务控制 86 private static void tranController(Jedis jr) throws IOException{ 87 System.out.println("**************************************开启事务**************************************"); 88 Transaction trans = jr.multi(); 89 System.out.println("*********java Redis 开始执行事务*********"); 90 trans.exec(); 91 System.out.println("*********java Redis operating String*********"); 92 opString(jr); 93 System.out.println("*********java Redis operating String over*********"); 94 System.out.println("*********java Redis operating hash*********"); 95 opHash(jr); 96 System.out.println("*********java Redis operating hash over*********"); 97 System.out.println("*********java Redis operating List*********"); 98 opList(jr); 99 System.out.println("*********java Redis operating List over*********"); 100 System.out.println("*********java Redis operating Set*********"); 101 opSet(jr); 102 System.out.println("*********java Redis operating Set over*********"); 103 System.out.println("*********java Redis operating zSet*********"); 104 opZset(jr); 105 System.out.println("*********java Redis operating zSet over*********"); 106 System.out.println("*********java Redis save redis db*********"); 107 save(jr); 108 System.out.println("*********java Redis save redis db over*********"); 109 trans.close(); 110 System.out.println("**************************************关闭事务**************************************"); 111 System.out.println("*********java Redis close redis db connection*********"); 112 closeJedis(jr); 113 System.out.println("*********java Redis close redis db connection over*********"); 114 } 115 public static void main(String[] args) throws IOException{ 116 Jedis jr = getJedis("localhost"); 117 tranController(jr); 118 } 119 }