1、jedis连接redis:
①启动linux中redis服务,一定要记得关闭linux防火墙,否则无法连接;
//找到redis目录下到redis.conf
redis-server /opt/redis-6.2.1/redis.conf
//关闭防火墙(centos7)
systemctl stop firewalld
②导入jedis依赖;
redis.clients
jedis
3.1.0
③创建jedis对象,new Jedis("linux的ip地址","redis端口"),默认端口号为6379;
④调用ping()方法,若输出为PONG,则连接成功。
@Test
public void testConnect(){
Jedis jedis = new Jedis("192.168.22.123",6379);
String ping = jedis.ping();
System.out.println(ping);
}
2、jedis操作string类型
①连接redis-server服务;
②调用mset("键","值",...)方法存储string类型,一次可以存储一个或多个键值对;
③调用mget("键",...)方法取出string类型,可以同时取出多个值。
@Test
public void testString(){
Jedis jedis = new Jedis("192.168.22.123",6379);
//存储数据
jedis.mset("name1","lisi","name2","zhansan","name3","wangwu");
//取数据
List mget = jedis.mget("name1", "name2", "name3");
for (String s : mget) {
System.out.println(s);
}
}
3、jedis操作list类型
①连接redis-server服务;
②调用lpush("键","值" ,"值",.....)方法存储数据;
③调用lpop()方法弹出左边头元素;
④调用lrange("键",开始下标,结束下标)方法遍历list集合,后进先出。
@Test
public void testList(){
Jedis jedis = new Jedis("192.168.23.129",6379);
//存储数据
jedis.lpush("id","001","002","003");
//弹出作左边头元素
jedis.lpop("id");
//取出数据
List id = jedis.lrange("id", 0, -1);
for (String s : id) {
System.out.println(s);
}
}
4、jedis操作set类型
①连接redis-server服务;
②调用sadd("键","值",.....)方法添加数据,可以添加一个或多个值;
③调用smembers(""键)方法获取数据。
@Test
public void testSet(){
Jedis jedis = new Jedis("192.168.23.129",6379);
//添加数据
jedis.sadd("name","lisi");
jedis.sadd("name","zhangsan");
jedis.sadd("name","wangwu");
//取出数据
Set name = jedis.smembers("name");
for (String s : name) {
System.out.println(s);
}
}
5、jedis操作hash类型
①连接redis-server服务;
②调用hset("键","属性标识","属性数据")方法存储数据,一次只能存储一个属性标识以及对应属性数据;
③调用hget("键","属性标识")方法取出属性数据,一次只能取出一个属性数据;
④创建map集合存储属性标识与属性数据,map集合键与值必须为string类型;
⑤调用hmset("键","属性集合")方法存储数据,可以批量添加属性标识以及对应属性数据;
⑥调用hmget("键","属性标识","属性标识", .....)方法取出一个或多个属性数据。
@Test
public void testHash(){
Jedis jedis = new Jedis("192.168.23.129",6379);
//存储一个属性数据
jedis.hset("stu","name","lisi");
//取出数据
System.out.println("stu:"+jedis.hget("stu", "name"));
Map map=new HashMap<>();
map.put("name","zhansan");
map.put("age","18");
map.put("phone","16365754666");
//存储多个属性
jedis.hmset("stu1",map);
//取出数据
List hmget = jedis.hmget("stu1", "name", "phone");
for (String s : hmget) {
System.out.println("stu1:"+s);
}
}
6、jedis操作zset类型
①连接redis-server服务;
②调用zadd("键","评分","值")方法存储数据,zset按照评分由低到高排序,为有序集合;
③调用zrange("键","开始下标","结束下标")方法遍历集合,结束下标为-1表示遍历所有元素。
@Test
public void testZset(){
Jedis jedis = new Jedis("192.168.23.129",6379);
//存储数据
jedis.zadd("name",100,"lisi");
jedis.zadd("name",50,"zhansan");
jedis.zadd("name",500,"wangwu");
//取出数据
Set name = jedis.zrange("name", 0, -1);
for (String s : name) {
System.out.println(s);
}
}