Jedis操作Redis、Jedis接続プールツールクラス

ジェダイの紹介

Redisはコマンドを使用して操作できるだけでなく、基本的に主流の言語でJava、C#、C ++、PHP、Node.js、GoなどのAPIをサポートしています。Jedis、Redisson、Jredis、JDBC-Redisなど、一部のJavaクライアントが公式Webサイトにリストされています。その中で、JedisとRedissonが公式に推奨されています。

Jedisを使用するには、jarパッケージをインポートする必要があります

ここに画像の説明を挿入
リンク:https
://pan.baidu.com/s/1zuVLD-8VO6v08dCMF8TfyA抽出コード:xe81
このコンテンツをコピーした、Baidu Netdisk携帯電話アプリを開くと、操作がより便利になります

ジェダイクラスの一般的なメソッド

注:各メソッドはredisのコマンド名であり、メソッドのパラメーターはコマンドのパラメーターです。各Jedisオブジェクトは、JDBCのConnectionオブジェクトに似ています。
ここに画像の説明を挿入

特定のコマンドについては、私の別の記事を参照してください:Redisの概要と一般的なコマンド
https://blog.csdn.net/RookiexiaoMu_a/article/details/89609874

ケース:上記のJedisの方法を使用してRedisにアクセスし、文字列とリストタイプをサーバーに書き込んで、プリントコンソールに取り出します。

import redis.clients.jedis.Jedis;

import java.util.List;

/*
使用Jedis的方法来访问Redis,向服务器中写入字符串和list类型,并且取出打印控制台上
 */
public class Demo1 {
    
    

    public static void main(String[] args) {
    
    
        //1. 创建连接Jedis
        //参数:主机名或IP地址, 端口号
        Jedis jedis = new Jedis("localhost", 6379);
        //2. 通过jedis对象中方法向服务器写入字符串的类型
        jedis.set("person","张三");
        //3. 通过jedis对象中方法向服务器写入list的类型
        jedis.lpush("cities","广州","上海","东莞");
        //4. 通过方法取出字符串和list打印
        String person = jedis.get("person");
        List<String> cities = jedis.lrange("cities", 0, -1);
        System.out.println(person);
        System.out.println(cities);
        //5. 关闭jedis连接
        jedis.close();
    }
}

Jedis接続プールの基本概念

ここに画像の説明を挿入
jedis接続リソースの作成と破棄はプログラムのパフォーマンスを消費するため、jedisはjedis接続プールテクノロジーを提供します。jedis接続プールが作成されると、一部の接続オブジェクトが初期化されて接続プールに格納されます。jedis接続リソースを使用する場合は、自分で作成する必要があります。代わりに、jedisオブジェクトは接続プールからリソースを取得してredis操作を実行します。使用後、jedis接続リソースを破棄する必要はありませんが、他の要求のためにリソースを接続プールに戻します。

Jedis接続プールAPI

ここに画像の説明を挿入
ケース:接続プールを使用してjedis操作を最適化し、接続プールから作成されたJeidsオブジェクトを取得し、このJedisオブジェクトを使用します。セットコレクションをRedisデータベースに書き込み、コレクションを削除します。コンソールに印刷して、データベース内の情報を表示します。

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

import java.util.Set;

/*
1. 使用连接池优化jedis操作,从连接池中得到一个创建好的Jeids对象,并且使用这个Jedis对象。
2. 向Redis数据库写入一个set集合,并且取出集合。打印到控制台,并且查看数据库中信息。
 */
public class Demo2 {
    
    

    public static void main(String[] args) {
    
    
        //1. 创建配置对象,指定2个参数:最大连接数,最长等待时间
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(10);
        config.setMaxWaitMillis(2000);  //毫秒
        //2. 创建连接池:指定3个参数:上面的配置对象,主机名,端口号
        JedisPool pool = new JedisPool(config, "localhost", 6379);
        //3. 从连接池中得到连接Jedis对象: getResource()
        Jedis jedis = pool.getResource();

        //4. 向redis中写入一个set集合: sadd
        jedis.sadd("students","白骨精","孙悟空","猪八戒");
        //5. 从redis中取出这个set集合打印出来: smembers
        Set<String> students = jedis.smembers("students");
        System.out.println(students);
        //6. 关闭jedis
        jedis.close();
    }

}

ResourceBundleクラス

ResourceBundleを使用して構成ファイルを読み取る
ここに画像の説明を挿入

//1. 得到ResourceBundle类
ResourceBundle bundle = ResourceBundle.getBundle("jedis");
//2. 调用getString("键")得到值
String host = bundle.getString("host");

ケース:jedis接続プールツールクラスの記述

書き方:

  1. ResourceBundleを使用して構成ファイルを読み取る
  2. Jedis接続プール構成オブジェクトを作成し、パラメーターを指定します
  3. 接続プールオブジェクトを作成する
  4. Jedisオブジェクトを取得するメソッドを記述します

JedisUtils.java

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

import java.util.ResourceBundle;

/*
工具类:
1. 简化得到连接代码
2. 修改配置更加方便
 */
public class JedisUtils {
    
    

    //定义成全局的变量
    private static JedisPool pool;

    //在类加载的时候就创建连接池
    static  {
    
    
        //读取所有的配置参数
        ResourceBundle bundle = ResourceBundle.getBundle("jedis");
        String host = bundle.getString("host");
        int maxTotal = Integer.parseInt(bundle.getString("maxTotal"));
        int maxWaitMillis = Integer.parseInt(bundle.getString("maxWaitMillis"));
        int port = Integer.parseInt(bundle.getString("port"));

        //1. 创建配置对象,指定2个参数:最大连接数,最长等待时间
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(maxTotal);
        config.setMaxWaitMillis(maxWaitMillis);  //毫秒
        //2. 创建连接池:指定3个参数:上面的配置对象,主机名,端口号
        pool = new JedisPool(config, host, port);
    }

    /**
     得到连接对象
     @return
     */
    public static Jedis getJedis() {
    
    
        //3. 从连接池中得到连接Jedis对象: getResource()
        return pool.getResource();
    }
}

おすすめ

転載: blog.csdn.net/RookiexiaoMu_a/article/details/89614277