Java操作Redis——Jedis的API

首先看一下java如何链接redis

Maven:

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

Java:

    public static void main(String[] args) {
        Jedis jedis = new Jedis("192.168.5.137",6379);//链接redis,参数为IP和Port
        Set<String> keys = jedis.keys("*"); //查看redis已存在的key
        for(String key : keys){
            System.out.println(key);
        } 
    }

Java链接redis用到的类是Jedis,并通过Jedis,操作Redis中的数据。下面就来看一下Jedis中提供的函数。

Jedis构造:

Jedis构造中提供了丰富的redis链接方式和参数设置,其中最常用的也就是前面几个,设置redis的IP和Port,再就是设置链接超时时间和是否使用SSL(安全套接字层)

    public Jedis() { }

    public Jedis(String host) {  super(host); }

    public Jedis(HostAndPort hp) {  super(hp); } //HostAndPort中封装了host和port信息

    public Jedis(String host, int port) { super(host, port); }

    public Jedis(String host, int port, boolean ssl) {  super(host, port, ssl); }

    public Jedis(String host, int port, int timeout) { super(host, port, timeout);  }

    public Jedis(String host, int port, int timeout, boolean ssl) {
        super(host, port, timeout, ssl);
    }

    public Jedis(String host, int port, boolean ssl, SSLSocketFactory sslSocketFactory, SSLParameters sslParameters, HostnameVerifier hostnameVerifier) {
        super(host, port, ssl, sslSocketFactory, sslParameters, hostnameVerifier);
    }

    public Jedis(String host, int port, int timeout, boolean ssl, SSLSocketFactory sslSocketFactory, SSLParameters sslParameters, HostnameVerifier hostnameVerifier) {
        super(host, port, timeout, ssl, sslSocketFactory, sslParameters, hostnameVerifier);
    }

    public Jedis(String host, int port, int connectionTimeout, int soTimeout) {
        super(host, port, connectionTimeout, soTimeout);
    }

    public Jedis(String host, int port, int connectionTimeout, int soTimeout, boolean ssl) {
        super(host, port, connectionTimeout, soTimeout, ssl);
    }

    public Jedis(String host, int port, int connectionTimeout, int soTimeout, boolean ssl, SSLSocketFactory sslSocketFactory, SSLParameters sslParameters, HostnameVerifier hostnameVerifier) {
        super(host, port, connectionTimeout, soTimeout, ssl, sslSocketFactory, sslParameters, hostnameVerifier);
    }

    public Jedis(JedisShardInfo shardInfo) { super(shardInfo); }

    public Jedis(URI uri) {   super(uri); }

    public Jedis(URI uri, int timeout) {  super(uri, timeout); }

    public Jedis(URI uri, SSLSocketFactory sslSocketFactory, SSLParameters sslParameters, HostnameVerifier hostnameVerifier) {
        super(uri, sslSocketFactory, sslParameters, hostnameVerifier);
    }

    public Jedis(URI uri, int timeout, SSLSocketFactory sslSocketFactory, SSLParameters sslParameters, HostnameVerifier hostnameVerifier) {
        super(uri, timeout, sslSocketFactory, sslParameters, hostnameVerifier);
    }

    public Jedis(URI uri, int connectionTimeout, int soTimeout) {
        super(uri, connectionTimeout, soTimeout);
    }

    public Jedis(URI uri, int connectionTimeout, int soTimeout, SSLSocketFactory sslSocketFactory, SSLParameters sslParameters, HostnameVerifier hostnameVerifier) {
        super(uri, connectionTimeout, soTimeout, sslSocketFactory, sslParameters, hostnameVerifier);
    }

Jedis包含了所有对redis的操作函数,且命令函数与我们直接在redis客户端中对redis的操作命令非常相近,下面我们列举部分redis中的函数供大家参考,更多的Jedis API大家可以看一下Jedis的源码。这里大家可以对照redis常用命令来学习。

Jedis通用命令:

    Boolean exists(String var1);

    Long persist(String var1);

    Set<String> keys(String var1);

    String select(int index)

    Long move(String key, int dbIndex)

Jedis操作String类型数据:

    String set(String var1, String var2); 

    String get(String var1);

    String getSet(String var1, String var2);

    List<String> mget(String... var1);

    String mset(String... var1);

Jedis操作List类型数据:

    List<String> blpop(int var1, String... var2);

    List<String> brpop(int var1, String... var2);

    List<String> blpop(String... var1);

    List<String> brpop(String... var1);

    String lpop(String var1);

    String rpop(String var1);

Jedis操作Set类型数据:

    Long sadd(String var1, String... var2);

    Set<String> smembers(String var1);

    Long srem(String var1, String... var2);

    String spop(String var1);

    Set<String> spop(String var1, long var2);

    Long scard(String var1);

Jedis操作Zset类型数据:

    Long zadd(String var1, double var2, String var4); 

    Long zadd(String var1, Map<String, Double> var2);

    Long zcard(String var1);

    Long zcount(String var1, double var2, double var4);

    Long zcount(String var1, String var2, String var3);

    Set<String> zrangeByScore(String var1, double var2, double var4);

    Set<String> zrangeByScore(String var1, String var2, String var3);

Jedis操作Hash类型数据:

    Boolean hexists(String var1, String var2);

    Long hdel(String var1, String... var2);

    Long hlen(String var1);

    Set<String> hkeys(String var1);

    List<String> hvals(String var1);
发布了74 篇原创文章 · 获赞 19 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/zhoushimiao1990/article/details/99821516