2017-12-12 13 views
0

私はループバック3を使用しています。コネクターはより良いですループバック - 接続 - redisまたはループバック - kv - redisとdatasouceを追加した後にエクスプレスセッションオブジェクトにストア属性を設定する方法。redis express-session storeをループバックで設定するには?

は、私が試した: store: app.dataSources.myDataSourceNameが、私はエラーを得ので、私が試した「store.getは関数ではありません」:

store: app.dataSources.myDataSourceName).KeyValueAccessObject 

私はすべてのエラーを得ることはありませんが、私はいずれかを持っていませんkey、redisの値。ありがとうございました

答えて

0

ループバック(私は非常に慣れていませんが、確かに)Express(これは私が慣れている)に基づいています。

普通のExpressのようにexpress-sessionsを使用してください。

const 
    ... 
    session  = require('express-session'), 
    RedisStore = require('connect-redis')(session), 
    redis  = require('redis'), 
    rs   = new RedisStore({ client : redis.createClient([connection your info]) }) 
}); 

session({ 
    secret    : 'foobar', 
    store    : rs 
}); 

その後、session相でのごmiddleware.jsonファイルに登録します。

+0

ありがとうございますが、既にループバック用のコネクタがあります。これは、[Loopback-redis](https://loopback.io/doc/en/lb3/Redis-connector.html)を使用しようとしています。と[Loopback-kv-redis](https://loopback.io/doc/en/lb3/kv-redis-connector.html)私はそれらと私のプロジェクトでそれらを使用する方法の違いを理解していませんでした。 また、あなたのコードとこのコードの違いは何ですか? 'const session = require( 'express-session'); –

+0

ありがとうございました。 'express-session'は、' connect() 'で動作するように設計されていますが、' 'redisStore = require( 'connect-redis' 'node_redis'(別名' require( 'redis') ')で動作するように設計された' -redis'です。 Loopback-redisとloopback-kv-redisは異なるAPIを持ち、特にループバックのデータソースとして設計されています。エクスプレスセッションでは動作しません。 – stockholmux

+0

ありがとうございます。 'require( 'redis')'を使わないとどのように動作するのか教えてください。私は自分のデータをredisで見ることができます –

関連する問題