开源项目

Java如何连接Redis?

2018-10-31  本文已影响20人  莫问以

安装Redis以后,如何使用在Java中呢?
1、下载 jedis.jar包,这是驱动(Jedis就是redis支持java的第三方类库,使用Jedis类库,才可以操作redis数据库)
PS:Jedis2.7以上的版本才支持集群操作。
或者利用Maven引入依赖:

<dependency>
  <groupId>redis.clients</groupId>
  <artifactId>jedis</artifactId>
  <version>2.8.2</version>
</dependency>

2、检测连接Redis是否成功,代码如下:

package com.redis;

import redis.clients.jedis.Jedis;

public class ConnectRedis {
     public static void main(String[] args) {
        //连接本地的 Redis 服务
         Jedis jedis = new Jedis("localhost",6379);//默认端口6379 可以省略
//       jedis.auth("redis");  //有密码此步需加上
         System.out.println("连接成功");
         
         //查看服务是否运行
         System.out.println("服务正在运行: "+jedis.ping());
     }
}

由于服务没启,故而打印:连接成功,然后报错,启动Redis,则打印:
连接成功
服务正在运行: PONG

Redis--String:

package com.redis;

import redis.clients.jedis.Jedis;

public class RedisStringJava {
    public static void main(String[] args) {
        //连接本地的 Redis 服务
        Jedis jedis = new Jedis("localhost");
        System.out.println("连接成功");
        //设置 redis 字符串数据
        jedis.set("hello", "What are you fuck doing?");
        // 获取存储的数据并输出
        System.out.println("redis存储的字符串为: "+ jedis.get("hello"));
    }
}

Redis--List:

import java.util.List;
import redis.clients.jedis.Jedis;
 
public class RedisListJava {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("localhost",6379);
//      jedis.auth("redis");    ​
        //存储数据到列表中
        jedis.lpush("site-list", "Java");
        jedis.lpush("site-list", "Html5");
        jedis.lpush("site-list", "Python");
        System.out.println("连接成功");
        // 获取存储的数据并输出
        List<String> list = jedis.lrange("site-list", 0 ,2);
        for(int i=0; i<list.size(); i++) {
            System.out.println("列表项为: "+list.get(i));
        }
    }
}

Redis--Keys:

import java.util.Iterator;
import java.util.Set;
import redis.clients.jedis.Jedis;
 
public class RedisKeyJava {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("localhost",6379);
//      jedis.auth("redis");    ​
        System.out.println("连接成功");
 
        // 获取数据并输出
        Set<String> keys = jedis.keys("*"); 
        Iterator<String> it=keys.iterator() ;   
        while(it.hasNext()){   
            String key = it.next();   
            System.out.println(key);   
        }
    }
}

以上就是Redis支持的数据类型简单演示,下面我们放入一个对象:

package com.redis;

public class User {
    private String id;
    private String name;
    private int age;
    private String sex;

    public User() {
        super();
    }
    
    public User(String id, String name, int age, String sex) {
        super();
        this.id = id;
        this.name = name;
        this.age = age;
        this.sex = sex;
    }
    //getter和setter方法略
}
package com.redis;

import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

import com.alibaba.fastjson.JSON;

import redis.clients.jedis.Jedis;

public class RedisUser {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("localhost",6379);
//      jedis.auth("redis");    ​
        User u1 = new User(UUID.randomUUID().toString(),"jack1",21,"m");
        User u2 = new User(UUID.randomUUID().toString(),"jack2",22,"m");
        User u3 = new User(UUID.randomUUID().toString(),"jack3",23,"m");
        User u4 = new User(UUID.randomUUID().toString(),"jack4",24,"m");
        User u5 = new User(UUID.randomUUID().toString(),"jack5",25,"m");
        
        Map<String,String> userMap = new HashMap<String,String>();
        userMap.put("u1",JSON.toJSONString(u1));
        userMap.put("u2",JSON.toJSONString(u2));
        userMap.put("u3",JSON.toJSONString(u3));
        userMap.put("u4",JSON.toJSONString(u4));
        userMap.put("u5",JSON.toJSONString(u5));
        jedis.hmset("t_user",userMap);
    }

}

参考:https://blog.csdn.net/chensizheng/article/details/78309888#commentBox

上一篇下一篇

猜你喜欢

热点阅读