Jedis就是一个基于Java的redis-cli,遵循Redis提供的协议请求Redis实现对其操作。
Jedis的Maven依赖:
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> <type>jar</type> <scope>compile</scope> </dependency>
基于SpringBoot框架下,Redis的Maven依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
Jedis jedis = new Jedis("127.0.0.1", 6379);
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.set("hello", "world");
jedis.set("hello", "world");
String value = jedis.get("hello");
String value = jedis.get("hello");
Jedis的构造函数中还有很多其他的参数,除了一下四种外还有很多其他的参数:
Jedis(String host, int port, int connectionTimeout, int soTimeout)
Jedis(String host, int port, int connectionTimeout, int soTimeout)
// string类型写入数据,输出结果:OK jedis.set("hello", "world"); // string类型读出数据,输出结果:world jedis.get("hello"); // string类型自增操作,输出结果:1 jedis.incr("counter");
// string类型写入数据,输出结果:OK jedis.set("hello", "world"); // string类型读出数据,输出结果:world jedis.get("hello"); // string类型自增操作,输出结果:1 jedis.incr("counter");
// hash类型写入数据,输出结果:OK jedis.hset("myhash", "f1", "v1"); jedis.hset("myhash", "f2", "v2"); // hash类型读出数据,输出结果:{f1=v1, f2=v2} jedis,hgetAll("myhash");
// hash类型写入数据,输出结果:OK jedis.hset("myhash", "f1", "v1"); jedis.hset("myhash", "f2", "v2"); // hash类型读出数据,输出结果:{f1=v1, f2=v2} jedis,hgetAll("myhash");
// list类型写入数据,输出结果:OK jedis.rpush("mylist", "1"); jedis.rpush("mylist", "2"); jedis.rpush("mylist", "3"); // list类型读出数据,输出结果:[1, 2, 3] jedis.lrange("mylist", 0, -1);
// list类型写入数据,输出结果:OK jedis.rpush("mylist", "1"); jedis.rpush("mylist", "2"); jedis.rpush("mylist", "3"); // list类型读出数据,输出结果:[1, 2, 3] jedis.lrange("mylist", 0, -1);
// set类型写入数据,输出结果:OK jedis.sadd("myset", "a"); jedis.sadd("myset", "b"); jedis.sadd("myset", "a"); // set类型读出数据,输出结果:[b, a] jedis.smembers("myset");
// set类型写入数据,输出结果:OK jedis.sadd("myset", "a"); jedis.sadd("myset", "b"); jedis.sadd("myset", "a"); // set类型读出数据,输出结果:[b, a] jedis.smembers("myset");
// zset类型写入数据,输出结果:OK jedis.zadd("myzset", 99, "tom"); jedis.zadd("myzset", 66, "peter"); jedis.zadd("myzset", 33, "james"); // zset类型读出数据,输出结果:[[["james"], 33.0], [["peter"], 66.0], [["tom"], 99.0]] jedis.zrangeWithScores("myzset", 0, -1);
// zset类型写入数据,输出结果:OK jedis.zadd("myzset", 99, "tom"); jedis.zadd("myzset", 66, "peter"); jedis.zadd("myzset", 33, "james"); // zset类型读出数据,输出结果:[[["james"], 33.0], [["peter"], 66.0], [["tom"], 99.0]] jedis.zrangeWithScores("myzset", 0, -1);
// 设置连接池的相关参数配置 GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig(); // 直接使用JedisPool,将使用配置传入 JedisPool jedisPool = new JedisPool(poolConfig, "127.0.0.1", 6379);
// 设置连接池的相关参数配置 GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig(); // 直接使用JedisPool,将使用配置传入 JedisPool jedisPool = new JedisPool(poolConfig, "127.0.0.1", 6379);
Jedis jedis = null; try { // 1.从连接池获取jedis对象 jedis = jedisPool.getResource(); // 2.执行操作 jedis.set("hello", "world"); } catch (Exception e) { e.printStackTrace(); } finally { if (jedis !=null) // 如果使用JedisPool,close操作不是关闭连接,代表归还连接池 jedis.close(); }
Jedis jedis = null; try { // 1.从连接池获取jedis对象 jedis = jedisPool.getResource(); // 2.执行操作 jedis.set("hello", "world"); } catch (Exception e) { e.printStackTrace(); } finally { if (jedis !=null) // 如果使用JedisPool,close操作不是关闭连接,代表归还连接池 jedis.close(); }