一,Java连接Redis
1.1 导入依赖
打开IDEA在pom.xml导入依赖
注意:要在dependencies标签中导入
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version>
</dependency>
1.2 Java连接
创建一个类,里面写连接Redis的相关代码
public class Redis {public static void main(String[] args) {//建立与数据库连接 数据库名称 端口号Jedis jedis= new Jedis("localhost",6379);//数据库密码jedis.auth("123456");//测试是否连接成功 连接成功返回PONGSystem.out.println(jedis.ping());}
}
如果运行显示PONG即可表明连接成功
如下图:
二. Java操作Redis常用类型数据
2.1 Redis字符串(String)
String(字符串)
string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。
string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
string类型是Redis最基本的数据类型,一个redis中字符串 value 最多可以是512M。
package com.zking.ssm.common;import redis.clients.jedis.Jedis;public class dome2 {public static void main(String[] args) {//建立与数据库连接Jedis jedis = new Jedis("localhost", 6379);//设置密码jedis.auth("123456");//测试是否连接上System.out.println(jedis.ping());//================================//连接数据库jedis.select(3);//存值jedis.set("uname","ar.小白");//取值System.out.println(jedis.get("uname"));//设置该hobby多久后自动删除jedis.setex("hobby",25,"game");//查看剩余时间System.out.println(jedis.ttl("hobby"));//修改jedis.set("uname","小白");System.out.println(jedis.get("uname"));//删除System.out.println(jedis.del("uname"));}
}
2.2 Redis哈希(Hash)
Hash(哈希,类似java里的Map)
Redis hash 是一个键值对集合。
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
类似Java里面的Map<String,Object>。
package com.zking.ssm.common;import redis.clients.jedis.Jedis;import java.util.HashMap;public class dome2 {public static void main(String[] args) {//建立与数据库连接Jedis jedis = new Jedis("localhost", 6379);//设置密码jedis.auth("123456");//测试是否连接上System.out.println(jedis.ping());//================================//连接第数据库jedis.select(3);// 存值jedis.hset("man","sname","帅哥");jedis.hset("man","sage","18");jedis.hset("man","sex","男");
// 取指定的字段值System.out.println(jedis.hget("man", "sname"));
// 删除值System.out.println(jedis.hdel("man","sage"));
// 查询指定的key的所有字段System.out.println(jedis.hgetAll("man"));
// 查询指定的key是否存在System.out.println(jedis.hexists("man", "sname"));System.out.println(jedis.hexists("man", "sage"));
// 获取指定key的长度System.out.println(jedis.hlen("man"));}
}
2.3 Redis列表(List)
List(列表)
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。
它的底层实际是个链表。
package com.zking.ssm.common;import redis.clients.jedis.Jedis;public class dome2 {public static void main(String[] args) {//建立与数据库连接Jedis jedis = new Jedis("localhost", 6379);//设置密码jedis.auth("123456");//测试是否连接上System.out.println(jedis.ping());//================================//连接第数据库jedis.select(3);// lpush key value1 value2 value3 将一个或多个值插入到列表头部jedis.lpush("List_hobby", "唱", "跳", "rap", "篮球");
// llen key 获取列表的长度System.out.println(jedis.llen("List_hobby"));
// lindex key index 根据索引获取列表中的元素System.out.println(jedis.lindex("List_hobby", 0));
// lrange key start sop 查看指定范围内的元素System.out.println(jedis.lrange("List_hobby", 0, 2));}
}
2.4 Redis集合(Set)
Set(集合)
Redis的Set是string类型的无序集合。它是通过HashTable实现的。
package com.zking.ssm.common;import redis.clients.jedis.Jedis;import java.util.Set;public class dome2 {public static void main(String[] args) {//建立与数据库连接Jedis jedis = new Jedis("localhost", 6379);//设置密码jedis.auth("123456");//测试是否连接上System.out.println(jedis.ping());//================================//连接第数据库jedis.select(3);// Redis集合(Set)// sadd key value1 [value2] 向集合添加一个或多个元素jedis.sadd("set_user", "ar", "小白", "牛马", "6");
// scard key 获取集合中的元素数量System.out.println(jedis.scard("set_user"));
// exists key 是否存在System.out.println(jedis.exists("set_user"));}
}
redis常见数据类型操作命令参考
Redis 命令参考
Redis 官网命令参考