我是靠谱客的博主 畅快小虾米,最近开发中收集的这篇文章主要介绍java使用Jedis操作Redis数据库、Jedis连接池 JedisPool、Jedis连接池工具类一、Jedis操作(string、hash、list、set、sortedset )二、Jedis连接池 JedisPool三、Jedis连接池工具类,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

需要架包:

jedis-2.7.0.jar    jedis驱动包
       commons-pool2-2.3.jar jedis连接池

操作步骤:

1、获取连接

2、操作

3、关闭连接

扩展阅读:Redis非关系数据库(概念、下载安装、命令操作、通用命令、持久化操作、java使用Jedis操作Redis数据库)

一、Jedis操作(string、hash、list、set、sortedset )

       /**
     * 快速入门
     */
    @Test
    public void test1(){
       //1、获取连接
        Jedis jedis=new Jedis("localhost",6379);
        //2、操作
        jedis.set("username","lt");
        //3、关闭连接
        jedis.close();
    }
 /**
     * String 数据类型的操作
     */
    @Test
    public void test2(){
        Jedis jedis=new Jedis();//如果使用空参构造,默认"localhost",6379

        // 存储
        jedis.set("username","tom");
        // 获取
        String username=jedis.get("username");
        System.out.println(username);

        // 使用 setex 设置 20秒过期的键值对,20秒后自动删除
        jedis.setex("activecode",20,"1234");

        jedis.close();

    }

    /**
     * hash 数据类型的操作
     */
    @Test
    public void test3(){
        Jedis jedis=new Jedis();//如果使用空参构造,默认"localhost",6379

        // 存储hash
        jedis.hset("user","username","lt");
        jedis.hset("user","password","111111");
        // 获取 hash
        String username=jedis.hget("user","username");
        System.out.println(username);

       // 获取 hash 所有map的数据
        Map<String, String> user = jedis.hgetAll("user");

        // keyset
        Set<String> keyset = user.keySet();
        //输入iter
        for (String key : keyset) {
           // 根据key获取values
            String value = user.get(key);
            System.out.println(key+":"+value);
        }

        jedis.close();
    }

    /**
     * list 数据类型的操作
     */
    @Test
    public void test4(){
        Jedis jedis=new Jedis();//如果使用空参构造,默认"localhost",6379

        // 存储list
        jedis.lpush("mylist","a","b");
        jedis.rpush("mylist","c");

        //list 弹出

        // list 范围获取
        List<String> mylist = jedis.lrange("mylist", 0, -1);
        System.out.println(mylist);
        
        jedis.close();

    }

    /**
     * set 数据类型的操作
     */
    @Test
    public void test5(){
        Jedis jedis=new Jedis();//如果使用空参构造,默认"localhost",6379

        // set 存储
        jedis.sadd("myset","a","b","c","d");

        // set 获取
        Set<String> myset = jedis.smembers("myset");
        System.out.println(myset);
        
        jedis.close();

    }
    /**
     * sortedset 数据类型的操作
     */
    @Test
    public void test6(){
        Jedis jedis=new Jedis();//如果使用空参构造,默认"localhost",6379

        // sortedset 存储
        jedis.zadd("mysort",60,"zhangsan");
        jedis.zadd("mysort",50,"lisi");
        jedis.zadd("mysort",80,"wangwu");

        // sortedset 获取
        Set<String> mysort = jedis.zrange("mysort", 0, -1);
        System.out.println(mysort);
        
        jedis.close();

    }

二、Jedis连接池 JedisPool

    /**
     * Jedis连接池 JedisPool
     */
    @Test
    public void test7(){

        //0、创建配置对象
        JedisPoolConfig config =new JedisPoolConfig();
        config.setMaxTotal(50);//最大运行连接数
        config.setMaxIdle(10);//最大空闲连接
        
        //1、创建Jedis连接池对象
        JedisPool jedisPool=new JedisPool(config,"localhost",6379);

        //2、获取连接
        Jedis jedis = jedisPool.getResource();

        //3、使用
        jedis.set("username","lt");

        //4、关闭 归还到连接池中
        jedis.close();
        
    }

详细配置如下:

三、Jedis连接池工具类

1、在src目录下创建properties文件(jedis.properties)

    

host=127.0.0.1
port=6379
maxTotal=50
maxIdle=10

2、创建工具类

package com.lt.jedis.util;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * JedisPool工具类
 *   加载配置文件,配置连接池的参数
 *   提供获取连接的方法
 */
public class JedisPoolUtils {

    private static JedisPool jedisPool;

    // 静态代码块(当类加载时,就读取配置文件)
    static {
        // 使用 JedisPoolUtils类 加载器,读取配置文件,返回输入流
        InputStream is = JedisPoolUtils.class.getClassLoader().getResourceAsStream("jedis.properties");
        // 创建 properties对象,加载输入流
        Properties pro=new Properties();
        try {
            pro.load(is);
        } catch (IOException e) {
            e.printStackTrace();
        }
        // 获取数据、设置JedisPoolConfig中
        JedisPoolConfig config=new JedisPoolConfig();
        config.setMaxTotal(Integer.parseInt(pro.getProperty("maxTotal")));
        config.setMaxIdle(Integer.parseInt(pro.getProperty("maxIdle")));

        // 初始化 JedisPool
        jedisPool=new JedisPool(config,pro.getProperty("host"),Integer.parseInt(pro.getProperty("port")));
    }
    /**
     *获取连接方法
     */
    public static Jedis getJedis(){
        return  jedisPool.getResource();
    }
}

3、测试

    /**
     * Jedis连接池工具类的使用
     */
    @Test
    public void test8(){
        //1、通过连接池工具类获取
        Jedis jedis= JedisPoolUtils.getJedis();

        //3、使用
        jedis.set("username","ltlll");

        //4、关闭 归还到连接池中
        jedis.close();

    }

 

最后

以上就是畅快小虾米为你收集整理的java使用Jedis操作Redis数据库、Jedis连接池 JedisPool、Jedis连接池工具类一、Jedis操作(string、hash、list、set、sortedset )二、Jedis连接池 JedisPool三、Jedis连接池工具类的全部内容,希望文章能够帮你解决java使用Jedis操作Redis数据库、Jedis连接池 JedisPool、Jedis连接池工具类一、Jedis操作(string、hash、list、set、sortedset )二、Jedis连接池 JedisPool三、Jedis连接池工具类所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(80)

评论列表共有 0 条评论

立即
投稿
返回
顶部