jedis 是redis官方推荐的java连接开发工具。
- pom依赖
<dependencies> <!-- jedis客户端 --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</version> </dependency> <!-- fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.62</version> </dependency> </dependencies> <build> <!--标识打出来jar的名称--> <finalName>redis-test-01</finalName> <!-- 指定maven的jdk版本 --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>
- 测试类
public class RedisTest01 { public static void main(String[] args) { String host = "127.0.0.1"; int port = 6379; Jedis jedis = new Jedis(host, port); String pong = jedis.ping(); System.out.println(pong); //返回PONG /************key的相关操作*********************/ System.out.println("清空数据:" + jedis.flushDB()); //flushDB清空当前db flushAll()清空整个redis System.out.println("判断某个key是否存在" + jedis.exists("username")); //返回false 不存在 System.out.println("新增<'username', 'zhangsan'的键值对'>" + jedis.set("username", "zhangsan")); System.out.println("新增<'password', '12345'>" + jedis.set("password", "12345")); System.out.println("当前db的所有的key值如下"); Set<String> keySet = jedis.keys("*"); System.out.println(JSON.toJSONString(keySet)); System.out.println("删除键password" + jedis.del("password")); System.out.println("判断键password是否存在" + jedis.exists("password")); System.out.println("查看键username所存贮的值的类型" + jedis.type("username")); System.out.println("随机返回一个key" + jedis.randomKey()); System.out.println("重命名key" + jedis.rename("username", "name")); System.out.println("取出改后的name" + jedis.get("name")); System.out.println("切换redis操作库" + jedis.select(1)); //默认是0库 现在切到1库 jedis.flushDB(); jedis.set("password01", "12345"); jedis.set("password02", "12345"); jedis.set("password03", "12345"); System.out.println("查询当前库的key的数量" + jedis.dbSize()); /************常用api-String*******************/ System.out.println(); System.out.println("===================string类型操作====================="); System.out.println(); jedis.select(0); //选择0库作为要操作的库 jedis.flushDB(); //清空数据 System.out.println(jedis.set("key1", "value1")); System.out.println(jedis.set("key2", "value2")); System.out.println(jedis.set("key3", "value3")); System.out.println("删除key2" + jedis.del("key2")); //可以删除多个 System.out.println("获取key2" + jedis.get("key2")); //此时返回空 System.out.println("在key3的后面加入值" + jedis.append("key3", "-tail")); //此时返回空 System.out.println("添加多个值" + jedis.mset("key4", "value4", "key5", "value5")); System.out.println("获取多个值" + jedis.mget("key1", "key2", "key3", "key4")); jedis.flushDB(); System.out.println("如果key存在则不添加如果key不存在则添加" + jedis.setnx("key1", "value1")); System.out.println("如果key存在则不添加如果key不存在则添加" + jedis.setnx("key1", "value2")); System.out.println("获取key1的值" + jedis.get("key1")); jedis.close(); //关闭连接 //jedis.shutdown(); //关闭redis } }
- jedis操作事务
public class RedisTest02 { public static void main(String[] args) { String host = "127.0.0.1"; int port = 6379; Jedis jedis = new Jedis(host, port); jedis.flushDB(); //jedis.watch("monitor"); //增加监视器 Transaction transaction = jedis.multi(); //开启redis事务 try { jedis.set("key1", "100"); jedis.set("key2", "100"); jedis.incr("key1"); transaction.exec(); //执行事务 int i = 1 / 0 ; //抛出异常 事务回滚 }catch (Exception e){ transaction.discard(); //事务失败后放弃事务 e.printStackTrace(); //jedis.unwatch(); //释放锁 } System.out.println(jedis.get("key1")); //返回的是一个null jedis.close(); } }