Jedis的使用
1. 导入依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.cpz</groupId>
<artifactId>maven_jedis</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.8.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
2. string 类型的使用
package com.cpz.jedis_string;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import java.util.List;
import java.util.Set;
public class JedisDemo_String {
Jedis jedis;
// 设置IP、密码
@Before
public void init(){
jedis = new Jedis("192.168.106.130");
jedis.auth("1234");
}
// 清除redis中的key
@Test
public void demo(){
Set<String> keys = jedis.keys("*");
for (String key : keys) {
System.out.println(key);
jedis.del(key);
}
}
// 演示 get set mset mget
@Test
public void demo1(){
jedis.set("username","chipeize");
jedis.mset("password","1234","age","22");
String age = jedis.get("age");
System.out.println(age);
List<String> list = jedis.mget("username", "password");
for (String s : list) {
System.out.println(s);
}
}
//演示 append setrange getrange
@Test
public void demo2(){
jedis.append("username"," is a boy");
System.out.println(jedis.get("username"));
jedis.setrange("username",14,"man");
System.out.println(jedis.get("username"));
System.out.println(jedis.getrange("username",14,-1));
}
}
3. list 类型的使用
package com.cpz.jedis_list;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.BinaryClient;
import redis.clients.jedis.Jedis;
import java.util.List;
import java.util.Set;
public class JedisDemo_List {
Jedis jedis;
// 设置IP、密码
@Before
public void init(){
jedis = new Jedis("192.168.106.130");
jedis.auth("1234");
}
// 清除redis中的key
@Test
public void demo(){
Set<String> keys = jedis.keys("*");
for (String key : keys) {
System.out.println(key);
jedis.del(key);
}
}
// lpush lrange llen lrem lset
@Test
public void demo1(){
jedis.lpush("list1","1","2","3","4","5","6");
List<String> list1 = jedis.lrange("list1", 0, -1);
for (String s : list1) {
System.out.println(s);
}
Long len = jedis.llen("list1");
System.out.println(len);
Long rem = jedis.lrem("list1", 1, "1");
System.out.println(rem);
jedis.lset("list1", 0, "first");
List<String> list2 = jedis.lrange("list1", 0, -1);
for (String s : list2) {
System.out.println(s);
}
}
// lindex linsert
@Test
public void demo2(){
String str = jedis.lindex("list1", 0);
System.out.println(str);
jedis.linsert("list1", BinaryClient.LIST_POSITION.BEFORE, "first", "firstff");
List<String> list1 = jedis.lrange("list1", 0, -1);
for (String s : list1) {
System.out.println(s);
}
}
}
1.4 hash 类型的使用
package com.cpz.jedis_hash_map;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class JedisDemo_Hash {
Jedis jedis;
// 设置IP、密码
@Before
public void init(){
jedis = new Jedis("192.168.106.130");
jedis.auth("1234");
}
// 清除redis中的key
@Test
public void demo(){
Set<String> keys = jedis.keys("*");
for (String key : keys) {
System.out.println(key);
jedis.del(key);
}
}
//hget hset hexists hlen hdel hgetall
@Test
public void demo1(){
Map<String,String> map = new HashMap<String, String>();
map.put("username","chipeize");
map.put("password","1234");
map.put("age","22");
String map1 = jedis.hmset("map1",map);
jedis.hset("map1","addr","shenzhen");
String str = jedis.hget("map1", "username");
System.out.println(str);
Boolean flag = jedis.hexists("map1", "age");
System.out.println(flag);
Long len = jedis.hlen("map1");
System.out.println(len);
jedis.hdel("map1","addr");
Map<String, String> map2 = jedis.hgetAll("map1");
for (String string : map2.keySet()) {
System.out.println(string + " " + map2.get(string));
}
}
// hkeys hvals
@Test
public void demo2(){
Set<String> set = jedis.hkeys("map1");
for (String s : set) {
System.out.println(s);
}
List<String> list = jedis.hvals("map1");
for (String s : list) {
System.out.println(s);
}
}
}
1.5 set 类型的使用
package com.cpz.jedis_set;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import java.util.Set;
public class JedisDemo_Set {
Jedis jedis;
// 设置IP、密码
@Before
public void init(){
jedis = new Jedis("192.168.106.130");
jedis.auth("1234");
}
// 清除redis中的key
@Test
public void demo(){
Set<String> keys = jedis.keys("*");
for (String key : keys) {
System.out.println(key);
jedis.del(key);
}
}
//sadd smembets scard srem
@Test
public void demo1(){
jedis.sadd("set1","a","b","c","d","e","f");
Set<String> set1 = jedis.smembers("set1");
System.out.println(set1);
Long scard = jedis.scard("set1");
System.out.println(scard);
jedis.srem("set1","f");
Set<String> set2 = jedis.smembers("set1");
System.out.println(set2);
}
// sdiff sinter sunion
@Test
public void demo2(){
jedis.sadd("set2","c","d","e","f","g");
Set<String> sdiff = jedis.sdiff("set1", "set2");
System.out.println(sdiff);
Set<String> sinter = jedis.sinter("set1", "set2");
System.out.println(sinter);
Set<String> sunion = jedis.sunion("set1", "set2");
System.out.println(sunion);
}
}
1.6 sortedSet 类型的使用
package com.cpz.jedis_sortedSet;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class JedisDemo_sortedSet {
Jedis jedis;
// 设置IP、密码
@Before
public void init(){
jedis = new Jedis("192.168.106.130");
jedis.auth("1234");
}
// 清除redis中的key
@Test
public void demo(){
Set<String> keys = jedis.keys("*");
for (String key : keys) {
System.out.println(key);
jedis.del(key);
}
}
// zadd zcard zrange zrangebyscore
@Test
public void test1(){
Map<String,Double> map = new HashMap<String,Double>();
map.put("a",10d);
map.put("b",20d);
map.put("c",30d);
map.put("d",40d);
map.put("e",50d);
jedis.zadd("sort1",map);
Long len = jedis.zcard("sort1");
System.out.println(len);
Set<String> set = jedis.zrange("sort1", 0, -1);
for (String s : set) {
System.out.println(s);
}
Set<String> set2 = jedis.zrangeByScore("sort1", 20d, 40d);
for (String s : set2) {
System.out.println(s);
}
}
// zrangk zscore zrem
@Test
public void test2(){
Long idx = jedis.zrank("sort1", "a");
System.out.println(idx);
Double zscore = jedis.zscore("sort1", "a");
System.out.println(zscore);
jedis.zrem("sort1", "a");
Set<String> set = jedis.zrange("sort1", 0, -1);
for (String s : set) {
System.out.println(s);
}
}
}
1.7 通用操作
package com.cpz.jedis_nomal;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import java.util.Set;
public class JedisDemo_Nomal {
Jedis jedis;
// 设置IP、密码
@Before
public void init(){
jedis = new Jedis("192.168.106.130");
jedis.auth("1234");
}
// 清除redis中的key
@Test
public void demo(){
Set<String> keys = jedis.keys("*");
for (String key : keys) {
System.out.println(key);
jedis.del(key);
}
}
// keys del expire persist ttl
@Test
public void test1(){
Set<String> keys = jedis.keys("*");
for (String key : keys) {
System.out.println(key);
}
jedis.del("username","password");
Set<String> keys2 = jedis.keys("*");
for (String key : keys2) {
System.out.println(key);
}
jedis.expire("age",200);
Long time = jedis.ttl("age");
System.out.println(time);
jedis.persist("age");
Long time2 = jedis.ttl("age");
System.out.println(time2);
}
}
1.8 事务操作
MULTI 开启事物
EXEC 执行事物
DISCARD 取消事物