菜鸟教程:https://www.runoob.com/redis/redis-java.html
安装
- 普通工程要导入下载好了的jedis的jar包
- maven工程导入jedis依赖
<dependencies>
<!-- Jedis 所需要的jar包 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
测试连接
在连接之前要先将redis.conf配置文件中的 bind 127.0.0.1 -::1 注解掉,否者不允许外部访问本终端上的redis。
这里使用的是远程连接阿里云服务器,连接之前必须要在防火墙里设置放行6379端口。
public static void main(String[] args) {
// 创建jedis对象
Jedis jedis = new Jedis("redis所在终端的ip地址",6379);
String pong = jedis.ping();
System.out.println("连接成功"+pong);
jedis.close();
}
测试数据类型
1. 测试键的操作
/**
* 测试键的操作
* @param jedis
*/
public static void testKey(Jedis jedis){
System.out.println("===========测试键的操作=============");
jedis.mset("k1","v1","k2","v2","k3","v3");
Set<String> keys = jedis.keys("*");
for (String key : keys) {
System.out.println(key);
jedis.del(key);
}
System.out.println(jedis.exists("k1"));
System.out.println(jedis.ttl("k1"));
System.out.println(jedis.get("k1"));
}
2. 测试String类型的操作
/**
* 测试String类型的操作
* @param jedis
*/
public static void testString(Jedis jedis){
System.out.println("===========测试String类型的操作=============");
jedis.mset("k1","v1","k2","v2","k3","v3");
System.out.println(jedis.mget("k1", "k2", "k3"));
}
3. 测试List类型的操作
/**
* 测试List类型的操作
* @param jedis
*/
public static void testList(Jedis jedis){
System.out.println("===========测试List类型的操作=============");
jedis.lpush("arr", "1", "2", "3", "4", "5");
jedis.lrange("arr",0,-1).forEach(System.out::println);
}
4. 测试Set类型的操作
/**
* 测试Set类型的操作
* @param jedis
*/
public static void testSet(Jedis jedis){
System.out.println("===========测试Set类型的操作=============");
jedis.sadd("sset","1","2","1","2","3");
jedis.smembers("sset").forEach(System.out::println);
}
5. 测试Hash类型的操作
/**
* 测试Hash类型的操作
* @param jedis
*/
public static void testHash(Jedis jedis){
System.out.println("===========测试Hash类型的操作=============");
HashMap<String,String> map = new HashMap<>();
map.put("name","zs");
map.put("age","12");
map.put("gender","man");
jedis.hmset("user",map);
jedis.hmget("user","name","age","gender").forEach(System.out::println);
}
6. 测试ZSet类型的操作
/**
* 测试ZSet类型的操作
* @param jedis
*/
public static void testZSet(Jedis jedis){
System.out.println("===========测试ZSet类型的操作=============");
jedis.zadd("language",1,"java");
jedis.zadd("language",2,"other");
jedis.zrange("language",0,-1).forEach(System.out::println);
}
总结
- 要java使用redis必须要先导入jedis的包或者依赖
- 使用jedis连接远端服务器的redis时要将对应的端口向外开放,并且要在redis配置文件中将bind 127.0.0.1 -::1注解掉
- 使用jedis进行redis的相关操作时方法名和直接在redis客户端中的命令是一样的