2017-08-22 24 views
1

私は現在、UNIXソケット経由でデータを取得するRedisについて研究しています。春データRedis:UNIXソケット経由で接続

これを反映するために、redis.sock(私の場合は/tmp/redis.sock)へのパスを定義して、これを反映するためにredis.confファイルを更新しました。

Spring Data Redis(JedisConnectionFactory経由)を使用すると、TCP経由でRedisに接続する方法(つまり、ホスト名とポートを定義する方法)があることがわかります。しかし、私はUNIXソケット経由で接続するためのメソッドがないことを知っています(何か見落としていない限り)。

誰かがSpring Data Redisを介してUNIXソケットを使用してRedisに接続する方法を知っていますか?

助けてください/アドバイスありがとうございます。

答えて

1

Javaは、サードパーティ(ネイティブ)ライブラリを使用せずにUnixドメインソケットを作成またはアクセスすることはできません。

そして、spring-data-redisはJedisやJredisなどをエンジンとして使用します。 Jedisはこのメソッドをサポートしていません。他の人もそれをサポートしていないと思います。 Unixソケットはローカルマシンでしか使用できないためです。

このクライアントライブラリを確認して確認することができます。

1

Javaは、サードパーティ(ネイティブ)ライブラリを使用せずにUnixドメインソケットを作成またはアクセスすることはできません。

これは一般的に正しいです。 Jedisは(この回答を書いている時点で)Unix Domain Socketをサポートしていません。 LettuceおよびRedissonは、native transports(epollおよびkqueue)をサポートするI/Oにnettyを使用します。基本的なオペレーティングシステムに依存するUnixドメインソケットを使用するには、ネイティブトランスポートが必要です。

レタスはSpring Data Redisに組み込まれていますが、ネイティブトランスポートオプション​​はありません。

参照:

+0

私は[チケット](https://jira.spring.io/browse/DATAREDIS-682)に提出されましたUnixドメインソケット接続をサポートします。 – mp911de

関連する問題