問題タブ [node-redis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - mysql から Redis へのプロセスの変換
私はmysqlから来て、頭をredisに巻き込もうとしています。いくつかのことは非常に明白でしたが、いくつかのことに私は困惑しました。そのようなものをredisで実装するにはどうすればよいですか?
初め
私は一種の先着順予約システムを持っています。ユーザーが特定のページに移動すると、以下のテーブルにクエリを実行し、最初のbadge
場所reservedby
= 0を返しreservedby
、ユーザー ID で更新します。ユーザーが 15 分以内にプロセスを完了しない場合、reservedby
は にリセットされ0
ます。ユーザーがプロセスを完了したら、テーブルから行を削除badge
し、ユーザー データと共に保存します。順序は重要です。バッジはリストの上位にあるほど良いので、何らかの方法で予約済みとしてマークするのではなく、削除する場合、15 分以内にプロセスが完了しない場合は、一番上に戻す必要があります。 .
2番
あまり頻繁には変更されないが、頻繁にクエリされる一連のデータがあります。ページが読み込まれると、選択ボックスに各 が入力されます。color
色を選択すると、対応するsm
とlg
が表示されます。
最後に
ユーザーデータを保存する限り、私がやっていることはINCR users
、その値hmset user:<INCR users value> badge "aab" joindate "10/30/2013"
などを取得することです。通常、それはどのように行われるべきですか?
node.js - Redis - 長時間非アクティブの後にサーバーが何も表示しない
Ubuntu サーバーでノード js を使用して Redis Store を使用しています。
nodejs と Redis を長時間使用しなかった後、ノード アプリケーションにアクセスしようとすると、Redis サーバーが空のデータを返します。Redis サーバーを再起動した後にのみデータが返されます。
redis.conf も確認しました。タイムアウトが無効になっています。
タイムアウト 0
node.js - Sails.jsセッションをロードして作成、チェック、破棄する方法は?
config session.js で、これら 2 つのものをインストールする前に redis を有効にしました...
npm install connect-redis
npm インストール エクスプレス
コントローラ 2 で
// セッションに値を割り当てて、controller1 にリダイレクトします req.session.error = "category Not found";
//エラー TypeError: undefined のプロパティ 'error' を設定できません
コントローラー1
console.log(req.session.error);
これを解決するには?
node.js - 最初の読み込みページで空の配列を取得する
以下の関数を呼び出して、ejs のビューでデータを表示すると。サーバー起動後の初回ロード時はデータがありません。ただし、2回目のロードからデータを取得できます。サーバーの起動後の最初のロード時にリストが空になるだけです。この問題は何ですか?データベースとしてredisを使用しています。私もpostgreSQLの使用で同じエラーに直面し、解決しました
しかし、今そのコードを使用することはできません。
javascript - Socket.io の再構築
socket.io redisstore アダプター/ストア (?) を使用して、すべてのクライアントを「表示」し、socket.io サーバーに直接接続されていないクライアントを「選択」することは可能ですか? それとも、これは socket.io のみの「部屋」機能に限定されていますか?
実用的な例を挙げると、同じチャット ルームの 2 人のユーザーが 2 つの異なる socket.io ノードに接続されています。redisstore アダプター/ストアを使用すると、コードを大幅に変更することなく、あるユーザーから別のユーザーにささやくことができますか?動作する単一のプロセス/サーバーの実装?
私が尋ねている理由は、私はまだプロジェクトの開発段階にあり、スケーリングに過度に関心を持っていないためです (また、私とはかなり異なるように見える node.js スケーリングの背後にある概念に飛び込む時間もありません)以前は(現在、最初の本格的な node.js プロジェクト))、スケーリングが不可能であることが判明したインフラストラクチャを構築する気がしません。
node.js - soket.io経由でクライアントを取得した後、どのようにredisからデータを削除しますか?
ここで、Web ページをリロードすると、データをチャネル redis に毎回プッシュし、このデータが redis のスタックに配置され、ここに何度も表示されます。
それを制御する方法は?この情報を再度送信しないでクライアント側でメッセージが本物かどうかを確認し、ユーザーがボタンをクリックした場合は redis からデータを削除する必要があります。
redis - パターンに一致するキーの数を数える方法は?
一致するパターンを持つすべてのキーの数を見つけるにはどうすればよいですか。
たとえば、 と の 2 つのキーがabc:random-text-1
ありabc:random-text-2
ます。ここでの一般的なパターンはabc:
. したがって、ここではカウントは 2 です。
どうすればredisでこれを行うことができますか?