1

多くの質問を見てきましたが、実際に「問題」を解決するものはありません。

簡単に言えば。いわば「好き」になれるある種のオブジェクトがあります。誰かがそれを気に入った場合、スクリプトが (AJAX を介して) 実行され、db のフィールドが likes=likes+1 で更新されます。しかし、多くの人がオンラインで気に入っている場合、それぞれが 1 つのクエリを取得し、db 接続に大きな重みがかかります。したがって、私はAPCを取得しました。しかし、私はそれらのいいねをキャッシュに保存し、「いいね」ごとに実際には変数を1ずつ増やしますが、変数がキャッシュから削除される前にデータベースに挿入したいと考えています。このプロセスのベスト プラクティスは何ですか?

ありがとう

編集

わかりました、情報不足で申し訳ありません。実際、私は dedi サーバーを持っていて、Twitter のようなサイトをいくつか持っています。何が起こるかというと、訪問者の数が毎日増加しており、SQL 接続の制限を超えているというエラー ログを取得し始めています。その前は、共有ホスティングで重い php スクリプト (特に選択) に問題があり、ほとんどキャッシュがありませんでした。そこで、mysqli 接続の数を最小限に抑えるために APC を試してみたいと思います。最も一般的な SQL タスクの 1 つは、好き嫌いです。値をインクリメントするだけです。選択もキャッシュしますが、情報が失われないため、時間切れになっても気にしません...

トリガーはありませんが、ある種のキャッシュを使用すると、はるかに簡単に実行できると思います-「いいね」を増やし、50回のいいねごとに1つのSQL更新を行います。時には 500 人を超える人がオンラインにいて、誰もがコメントや投稿を気に入っているので、多くのクエリが生成されると思います。

更新がそれほど重くないと思われる場合は、これについてあまり気にせず、重い選択についてのみ説明します。

私は単純な構造を持っています:

表 1- 投稿: 列:1.ID 2.テキスト 3.いいね 4.嫌い... 表 2 - コメント: 列: 1.ID 2.テキスト 3.投稿 ID , 4.いいね...

コードについては、可能な限り単純です。

if( Mr.smith already liked){
    do nothing with database
}
else {
    mysqli->query("Update Posts set likes = likes+1");
}

どんなヒントでも大歓迎です。

4

0 に答える 0