package com.jt;
import com.google.gson.Gson;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
public class JedisTests {
/**
* 基于gson中的api对象,将map转换为json格式字符串
* 然后将其存储到redis,并在存储时候,指定key的有效期
* 然后再将redis中的json数据读出,转化为map对象,进行输出
*/
@Test
public void testStringOper02(){
//1.连接
Jedis jedis = new Jedis("192.168.126.128", 6379);
//2.1生成map对象
Map<String, Object> userMap = new HashMap<>();
userMap.put("id", 200);
userMap.put("username", "Jack");
//2.2将map对象转换为json字符串
Gson gson = new Gson();
String jsonStr = gson.toJson(userMap);
//2.3存储字符串
String token = UUID.randomUUID().toString();
jedis.setex(token, 5, jsonStr);
//2.4读取
jsonStr = jedis.get(token);
System.out.println(jsonStr);
//2.5转换成map
Map map = gson.fromJson(jsonStr, Map.class);
System.out.println(map);
//3.释放资源
jedis.close();
}
public void testStringOper01(){
Jedis jedis = new Jedis("192.168.126.128", 6379);
//2.1存储数据
jedis.hset("point1", "x","100");
jedis.hset("point1", "y","100");
//2.2查询
Map<String, String> ponit1 = jedis.hgetAll("ponit1");
System.out.println(ponit1);
//2.3判断key存在
jedis.hexists("point1", "x");
jedis.exists("point1");
}
@Test
public void testListOper01(){
Jedis jedis = new Jedis("192.168.126.128", 6379);
//先进先出 队
jedis.lpush("lst1", "A","b","c","d");
String lst1 = jedis.lpop("lst1");
System.out.println(lst1);
//先进后出
jedis.lpush("lst2", "A","b","c","d");
String lst2 = jedis.rpop("lst2");
System.out.println(lst2);
}
@Test
public void testGetConnection(){
//连接redis
Jedis jedis = new Jedis("192.168.126.128",6379);
//2.读写redis中String类型的数据
jedis.set("name", "dhq");
jedis.get("name");
jedis.incr("num");
jedis.set("age", "10");
jedis.expire("age", 1);
Set<String> keys = jedis.keys("name");
System.out.println(keys);
//3.释放资源
jedis.close();
}
}
redis在liunx中的常用命令:redis-cli
redis的默认端口号:6379