2012-01-23 10 views
2

私は今、私はMEMCACHE_PASSWORD、MEMCACHE_SERVERSとMEMCACHE_USERNAMEのENV変数を持って、Memcachedのを持っている私のHerokuのインスタンスを設定します。どのように既存のnode.js memcachedライブラリでそれらを使用するのですか?彼らはすべてちょうどホストとポートを(私はポートがデフォルトの11211であると仮定している?)で取るように見えます。今日のようのNode.js - Memcachedの使用法

おかげ

答えて

1

、このシナリオをサポートして利用可能なノードのライブラリがありません。 Herokuのmemcachedインスタンスは、認証にSASLを使用します。現在利用可能なライブラリのどれもこれをサポートしていない、とthere doesn't seem to be much momentum to add support, either

これを自分で実装したい場合は、を見てみる価値があります。これはGNU SASLのノードバインディングです。あなたの最善の策は、おそらくnode-memcachedをフォークし、そこSASLのサポートを追加することです。

+0

sasljsはSASLのサーバー側のみを実装しているので、このユースケースでは役に立ちません。( node-memcachedにSASLサポートを追加することは非常にうれしく、3rd Edenは[ ](https://github.com/3rd-Eden/node-memcached/issues/15)が、私はどこから始めれば見当がつかない怖い... –

+0

あなたは正しいです@NearPrivman、sasljsはありませんしかし、これはSASLクライアント(http://www.gnu.org/software/gsasl/manual/gsasl.html#Examples)にも使用できるGSASLをバインドします.1つのオプションは、sasljsをフォークすることです –

-1

https://github.com/elbart/node-memcache

var client = new memcache.Client('11211', 'http://xxxx:[email protected]');

+0

Herokuはバージョン0.4.7が必要ですが、node-memcacheはnode.js> = 0.6に依存しているようです。 – Jusso

+0

これは、GSASLがSASLクライアントを実装するために必要なものを追加します。ノード0.6で動作するようです。 @ラドスラフあなたはこれを試してみましたか、ここでちょうど推測していますか? 私は '[Error:getaddrinfo EFAULT]' –

+0

BTW、@Jussoを取得しています。ここで、Herokuはノード0.6もサポートしています。あなたはpackage.json https://devcenter.heroku.com/articlesで指定する必要があります。/nodejs-versions –

6

上述したように、Herokuの上Memcacheのアドオン両方のみバイナリプロトコルをサポートします。私は、これらのアドオン(バイナリプロトコルとSASLをサポートし、箱から出してHerokuの環境変数を認識する)と連携し、ライブラリ、MemJSを、書きました。