サーチ…


前書き

RedisにはJavaで10種類以上のクライアントライブラリが用意されています。最も人気のあるクライアントの1つはJedisです。

備考

さらに詳しい情報:

Jedisの入手

Jedisライブラリは、通常、プロジェクトのビルド環境に組み込まれた依存関係管理システムを使用して、Javaプロジェクトに追加されます。 2つの一般的なJavaビルドシステムは、MavenとGradleです。

Gradleを使用する

JedisライブラリをGradleプロジェクトに追加するには、リポジトリを設定して依存関係を追加する必要があります。次のスニペットは、Jedisライブラリのバージョン2.9.0をGradleプロジェクトに追加する方法を示しています。

repositories {
    mavenCentral()
}

dependencies {
    compile 'redis.clients:jedis:2.9.0'
}

Mavenの使用

JedisをMavenプロジェクトに追加するには、依存関係リストに依存関係を追加し、ライブラリの座標を指定する必要があります。次のスニペットがpom.xmlファイルに追加されます。

<dependencies>
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>2.9.0</version>
    </dependency>
</dependencies>

レディスへの接続

プールの使用

ほとんどのコードは、共有接続オブジェクトのプールを使用してRedisに接続することを望みます。プールを使用してRedisに接続するには、2つの異なるコードブロックが必要です。初期化時に、アプリケーションで接続プールを作成する必要があります。

    JedisPoolConfig poolCfg = new JedisPoolConfig();
    poolCfg.setMaxTotal(3);

    pool = new JedisPool(poolCfg, hostname, port, 500, password, false);

JedisPoolConfigは、プールの調整オプションがあります。

アプリケーションがワークロードを処理する際には、次のコードを使用して共有プールから接続を取得する必要があります。

    try (Jedis jedis = pool.getResource()) {

        ...
    }

ベストプラクティスは、try-with-resourcesブロック内のプールからJedis接続オブジェクトを取得することです。

プールなし

単純なアプリケーションや統合テストのような場合には、共有プールを処理せずにJedis接続オブジェクトを直接作成することもJedisます。これは次のコードで実現できます:

try (Jedis jedis = new Jedis(hostname, port)) {
    jedis.connect();
    jedis.auth(password);
    jedis.select(db);

    . . .
}

繰り返しますが、try-with-resourcesブロック内にJedisクライアントオブジェクトを作成することをお勧めします。

基本的なGet / Setコマンドの実行

Redisへの接続を確立すると、 Jedis接続オブジェクトを使用して値を取得および設定できます。

取得する

String value = jedis.get(myKey);

セット

jedis.put(myKey, "some value");

コマンドの実行

Jedisを使用してRedisコマンドを実行するには、プールから作成したJedisオブジェクトに対してメソッド呼び出しを行います。 JedisはRedisコマンドをメソッド呼び出しとして公開しています。

- String get(String key) 
- Long geoadd(String key, double longitude, double latitude, String member)
- List<String> hmget(String key, String... fields)
- Long hsetnx(String key, String field, String value)

RedisでStringキーの値を設定する場合は、次のようなコードブロックを使用します。

try (Jedis jedis = pool.getResource()) {

   String myKey = "users:20";
   String myValue = "active";

   jedis.set(myKey, myValue);
}


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow