問題タブ [memcached]

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.

0 投票する
13 に答える
59039 参照

c# - Memcached を Windows (x64) 64 ビット環境で実行できますか?

Windows 64 ビット環境で Memcached を実行できるIF いつ、またはどのようにすればよいか知っている人はいますか?

私は新しいホスティング ソリューションをセットアップしていますが、64 ビット OS を実行したいと考えています。これは SQL Server DB を使用した ASP.Net MVC ソリューションであるため、OS は Windows Server 2003 または (願わくば!) 2008 のいずれかになります。

これが、サーバー上で 32 ビットと 64 ビットのどちらを使用するかについての議論に波及する可能性があることは承知していますが、私の好みは 64 ビットであり、いくつかの非常に 正当な理由があるとだけ言っておきましょう。

これまでのところ、いくつかのオプションを試してみて、32 ビット マシンでこれを起動することに関連する少しヘルプを見つけました(追加することもできます)。ただし、元のWindows ポートは Win32 固有であるため、これはほとんど役に立ちません。 x64 でサービスとしてインストールする場合。また、Win32 でコンパイルされたバージョンしか入手できないlibeventにも依存しています。

I suspect that simply loading all this up in C++ and hitting "compile" (for 64bit) wouldn't work, not least because of the intricate differences in 32 and 64bit architectures, but I'm wondering if anyone is working on getting this off the ground? Unfortunately, my expertise lie in managed code (C#) only, otherwise I would try and take this on myself, but I can't believe I'm the only guy out there trying to get memcached running on a 64 bit Windows server....am I?


Update

はい、私はまだこれに対する答えを探しています - 安定したビルドを作成するための私のすべての努力 (私の哀れな C++ スキルによる) は失敗しました - 私は 1 台のサーバーと 3 台の VM をただ試しただけなので、今私は本当の専門家に相談してください。これを64ビットに移植する予定の人はいますか? それとも、代わりに MS Velocity を使用することを本当に提案していますか? 私はその考えに震えます。


更新: @Lars - 私は実際に Enyim を使用しています - それは非常に優れていますが、あなたが言及しているのはサーバー部分ではなくクライアントです。

@DannySmurf - 32 ビット OS のサービスとしてしかインストールできませんでした。64 ビット OS は、この Win32 サービスのインストールを拒否します。もちろん、多くの Win32 コードは x64 アーキテクチャ上でシームレスに動作するため、32 ビット アプリ (Office など) やゲームを Vista/XP 64 などで実行できますが、サービスに関しては直接変換されません。私は専門家ではありません。サービスがサブスクライブする必要がある同期またはイベントに関係していると思われます。また、64 と 32 がうまく動作しないのではないかと思います。これについて修正できてうれしいですが、あなたの質問に答えるために-はい、試しました。

@OJ - 率直な回答に感謝します。私も同じように考えましたが、他の誰かが提案を持っているかどうか、またはすでにこのルートをたどったかどうかはわかりませんでした. おそらく、StackOverflow が LIVE になると、より多くの人が応答して、これが調査中のものであるかどうかを知らせてくれるでしょう。自分で試してコンパイルすることはできますが、(C++ の経験レベルでは) それを「信頼」することはできません。大規模でスケーラブルなソリューションのこのような重要なコンポーネントに「エンタープライズ レベル」の信頼性を提供します。自信を持つ前に、無害な実験的アプローチではなく、教育を受けた介入が必要になると思います. 私のちょっとした見落としで、サイトがダウンする可能性があります。ま、まぁ・・・次回まで。

0 投票する
4 に答える
13344 参照

caching - System.Web.Caching と Enterprise Library Caching Block の比較

Web アプリケーションとリッチ クライアント アプリケーションの両方で使用される .NET コンポーネントの場合、キャッシングには System.Web.Caching または Ent の 2 つの明白なオプションがあるようです。リブ。キャッシュ ブロック。

  • あなたは何を使うのですか?
  • なんで?

System.Web.Caching

これは Web アプリ以外で安全に使用できますか? 私はさまざまな情報を見てきましたが、その答えは多分、そうではないと思います。

そのハイライトの 1 つであるSqlCacheDependencyを使用する予定はありませんが、.NET 3.5 でのCacheItemUpdateCallbackの追加は本当に良いことのように思えます。

エンタープライズ ライブラリ キャッシング アプリケーション ブロック

  • 他のブロックは既に使用されているため、依存関係は既に存在します
  • キャッシュの永続性は必要ありません。再起動時にキャッシュを再生成しても問題ありません

一部のキャッシュ アイテムは常に使用可能である必要がありますが、定期的に更新する必要があります。これらのアイテムの場合、アイテムが削除されたにコールバックを取得するのはあまり便利ではありません。キャッシュ項目が再設定されるまで、クライアントはスリープしてポーリングする必要があるようです。

Win32 + .NET クライアント用 Memcached

分散キャッシュが不要な場合の長所と短所は何ですか?

0 投票する
3 に答える
2789 参照

php - CentOSでmemcachedをセットアップしてApacheとPHPで動作するようにするための最良の方法は何ですか

Linuxの世界に不慣れな人のために、CentOSにmemcachedをインストールする最も簡単な方法は何ですか?ApacheとPHPでそれを有効にするための最良の方法は何ですか

0 投票する
4 に答える
11889 参照

caching - Memcacheコントロールパネル?

3つのWebサーバーのそれぞれでeAcceleratorを実行しており、3つすべてのmemcacheプールに移動することを検討しています。できれば、dbルックアップを約2/3削減します。

eAcceleratorの便利な点の1つは、Webベースの制御インターフェイス(control.php)です。これは、予期せずキャッシュをフラッシュしたり、キャッシュ内のスクリプトをすばやく監視したりする必要がある場合に非常に便利です。

私たちは探していましたが、memcacheに同じタイプの機能を提供するものは見つかりませんでした-そのようなものが存在するかどうか誰かが知っていますか?

明らかに、キャッシュなどのフラッシュはコンソールのmemcacheで十分簡単ですが、私たちの特定のセットアップは、フロントエンドを監視し、サーバー上で必ずしもシェルアクセスを持っていないキャッシュをフラッシュする必要がある人がいる可能性があることを意味します。

0 投票する
2 に答える
1292 参照

php - PHP のグローバル/セッション スコープの値

PHPでグローバルスコープの変数を処理する標準的な方法はありますか? セッションスコープ?

私が行った調査から、オプションはほとんどがアドオンまたは外部のようです。APC は機能する可能性がありますが、単一の PHP インスタンスに限定されるため、サーバー ファームにはあまり役立ちません。Memcachedは機能するようですが、PHP 内で何かを見つけたいと思っていました。

そのステートレスなアプローチは、これを処理するための標準的な方法を妨げていますか?

0 投票する
3 に答える
1289 参照

php - PHP の同時実行性の問題をテスト/デバッグ/修正するためのツールは?

PHP で memcached を使用して、比較的高度な処理を行っていることに気付きました。キャッシュのロックフリーの性質によって引き起こされる競合状態と同時実行の問題について考えて解決するのは、精神的な闘争になりつつあります。

PHP は、同時実行性 (スレッド、誰か?) に関してはツールがかなり貧弱に見えるので、これを適切にテスト/デバッグするためのソリューションがあるかどうか疑問に思います。

2 人のユーザーが 2 つのスクリプトを要求するまで待ちたくありません。これらのスクリプトは同時に並列プロセスとして実行され、同時実行性の問題が発生して頭を悩ませたり、clusterfsck に雪だるまになるまで気付かなかったりする可能性があります。

私が知っておくべき魔法のPHP同時実行ワンドはありますか?

0 投票する
4 に答える
7983 参照

php - 複数のホスト上のPHPサイトのセッションを処理するための最良の方法は何ですか?

PHPは、そのセッション情報を、そのセッションを確立するサーバーのホストのファイルシステムに保存します。負荷が各ホスト間でインテリジェントに分散されないマルチホストPHP環境では、PHPセッション変数を各リクエストで使用することはできません(リクエストが同じホストに割り当てられている場合を除きます。ロードバランサーを制御できないと仮定します)。 。

「PHP負荷分散のヒッチハイカーガイド」と呼ばれるこのサイトは、PHPセッションハンドラーをオーバーライドし、セッション情報を共有データベースに保存することを提案しています。

あなたの謙虚な意見では、複数のPHPホスト環境でセッション情報を維持するための最良の方法は何ですか?

更新:素晴らしいフィードバックをありがとう。サンプルコードを探している人には、MySQL用のSessionManagerクラスを作成するための便利なチュートリアルが見つかりました。これを確認することをお勧めします。

0 投票する
2 に答える
536 参照

php - キャッシュ内のオブジェクトの重複コピーを回避するにはどうすればよいですか?

memcacheを使用してWebアプリケーションのモデルレイヤーのキャッシュを設計しています。私の最大の問題の1つは、データの一貫性です。次のようなデータをキャッシュすることになりました:(key = query、value =クエリの結果のオブジェクトIDのリスト)リストの各ID:(key = object.id、value = object)

したがって、クエリが実行されるたびに、クエリがすでに存在する場合は、リストで通知されたオブジェクトをキャッシュから取得します。そうでない場合は、リストのすべてのオブジェクトがキャッシュに保存され、他の古い値が置き換えられます。

誰かがこの代替手段を使用しましたか、それは神ですか?他のアイデアはありますか?

0 投票する
7 に答える
1380 参照

asp.net - ASP.NET を実行している Web ファームの分散キャッシュに何を使用していますか?

この状況で他の人が何を使用しているのか、私は興味があります。memcached ポートや ScaleOutSoftware など、いくつかの選択肢があることを知っています。memcached ポートは積極的に取り組んでいないようです (間違っていたら訂正してください)。ScaleOutSoftware は私には高すぎます (それだけの価値があることは間違いありません)。これは、memcached や ScaleOutSoftware を使用している人々について聞きたくないということではありません。この時点で私が「知っている」ことを述べているだけです。

私の質問は基本的にこれです:分散キャッシュを積極的に使用している方は、何を使用していますか?

私はすぐに 2 つのサーバーに移動します...どちらも同じ場所に配置されます。データベース サーバーの負荷を軽減するために、かなり頻繁に (ただし慎重に) キャッシュを使用しています。

編集: Scaleout Software のソリューションをダウンロードしました。私はそれをコーディングしましたが、本当にうまくいくようです。私の財布がそのために現金を手放すかどうかを決めなければなりません。:) ScaleoutSoftware で良い経験も悪い経験もした人はいますか?

もう一度編集:これを尋ねてから少し時間が経ちましたか?それ以上の考えはありますか?最終的に ScaleOutSoftware からソリューションを購入して満足していますが、他の人が何をしているのか気になります。

0 投票する
8 に答える
3722 参照

php - ページ化された結果をキャッシュし、更新時にパージする-解決方法は?

フォーラムを作成し、データベースの作業を節約するためにapcおよびmemcacheキャッシングソリューションを実装しています。

「Categories::getAll」などのキーを使用してキャッシュレイヤーの実装を開始しました。ユーザー固有のデータがある場合は、ユーザーIDなどのキーを追加して取得し"User::getFavoriteThreads|1471"ます。ユーザーが新しいお気に入りのスレッドを追加したら、キャッシュキーを削除すると、エントリが再作成されます。

ただし、ここに問題があります。

フォーラムにスレッドをキャッシュしたかったのです。非常に単純な「Forum::getThreads |$iForumId」。しかし...ページネーションを使用すると、これをいくつかのキャッシュエントリに分割する必要があります。たとえば

誰かがフォーラムに新しいスレッドを投稿するまでは、これで問題ありません。"Forum::getThreads|$iForumId"制限とオフセットに関係なく、下のすべてのキーを削除する必要があります。

この問題を解決する良い方法は何でしょうか?一致しないものが見つかるまで、考えられるすべての制限とオフセットをループすることは本当にしたくありません。

ありがとう。