検索
ホームページバックエンド開発PHPチュートリアルK->V キャッシュ障害後の高い同時アクセスによって引き起こされるデータベース負荷の急激な増加の問題を簡単に処理する_PHP チュートリアル
K->V キャッシュ障害後の高い同時アクセスによって引き起こされるデータベース負荷の急激な増加の問題を簡単に処理する_PHP チュートリアルJul 20, 2016 am 11:13 AM
amp戻る対処する無効に導く同時データベース毎日単純キャッシュプログラミングアクセス負荷質問高い高い同時実行性

日常のプログラミングでは、一定量の同時実行性または大量のデータを伴う一部のデータベース操作では、フロントエンドにキャッシュ層を追加し、有効期限を設定するのが通常は mongoDB または memcached です。次のように:

同時実行量がそれほど多くない場合、またはデータ操作効率が非常に高い場合、このモードは基本的に問題ありません。
しかし、おそらく、(キャッシュ障害が発生し、同時実行性が高く、データベース操作時間が長い場合) を見たことがあるでしょうか?
1. キャッシュの無効化
2. 最初のプロセスはデータベースに行き、新しいデータを取得します。SQL + プログラムロジックが含まれる場合、5S かかります
3. この 5S の中で、2 番目、3 番目... . N 全員が期限切れのキャッシュを取得したばかりなので、全員がデータベースに接続しました...
4. 結果は明らかです、データベースはテーブルをロックします -> データベースは大量のプロセスを蓄積します -> データベースがハングするまで上!

それでは、この問題をどうやって解決すればいいのでしょうか?実際、最も簡単な解決策は次のとおりです:
ファイル ロックに似たマークを追加して、プログラムが現時点でキャッシュを更新しているかどうかを判断します。
「はい」の場合は、古いキャッシュに直接戻ります (マークが削除されないプログラムエラーによりキャッシュが更新されない問題を回避するために、マークには有効期限が設定されています)
そうでない場合は、設定しますマークを付けてからデータの取得とキャッシュを行い、最後にマークを削除します。

PS. 初めてキャッシュが生成された場合、一部のユーザーはデータを表示できない可能性がありますが、この可能性は非常に小さいため、手動生成などの他の方法で解決できます。


プロセスは次のとおりです:

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/440329.html技術記事日常のプログラミングでは、ある程度の同時実行性や大量のデータを伴うデータベース操作では、フロントエンドにキャッシュ層を追加し、有効期限を設定するのは通常 mongoDB か私です...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最简便的硬盘序列号查询方式最简便的硬盘序列号查询方式Feb 26, 2024 pm 02:24 PM

硬盘序列号是硬盘的一个重要标识,通常用于唯一标识硬盘以及进行硬件识别。在某些情况下,我们可能需要查询硬盘序列号,比如在安装操作系统、查找正确设备驱动程序或进行硬盘维修等情况下。本文将介绍一些简单的方法,帮助大家查询硬盘序列号。方法一:使用Windows命令提示符打开命令提示符。在Windows系统中,按下Win+R键,输入"cmd"并按下回车键即可打开命

如何使用Java编写一个简单的学生成绩报表生成器?如何使用Java编写一个简单的学生成绩报表生成器?Nov 03, 2023 pm 02:57 PM

如何使用Java编写一个简单的学生成绩报表生成器?学生成绩报表生成器是一个可以帮助老师或教育者快速生成学生成绩报告的工具。本文将介绍如何使用Java编写一个简单的学生成绩报表生成器。首先,我们需要定义学生对象和学生成绩对象。学生对象包含学生的姓名、学号等基本信息,而学生成绩对象则包含学生的科目成绩和平均成绩等信息。以下是一个简单的学生对象的定义:public

如何通过PHP编写一个简单的在线预约系统如何通过PHP编写一个简单的在线预约系统Sep 26, 2023 pm 09:55 PM

如何通过PHP编写一个简单的在线预约系统随着互联网的普及和用户对便利性的追求,在线预约系统越来越受到欢迎。无论是餐厅、医院、美容院还是其他服务行业,都可以通过一个简单的在线预约系统来提高效率并为用户提供更好的服务体验。本文将介绍如何使用PHP编写一个简单的在线预约系统,并提供具体的代码示例。创建数据库和表格首先,我们需要创建一个数据库来存储预约信息。在MyS

快速入门:使用Go语言函数实现简单的图书管理系统快速入门:使用Go语言函数实现简单的图书管理系统Jul 30, 2023 am 09:18 AM

快速入门:使用Go语言函数实现简单的图书管理系统引言:随着计算机科学领域的不断发展,软件应用的需求也越来越多样化。图书管理系统作为一种常见的管理工具,也成为很多图书馆、学校和企业必备的系统之一。在本文中,我们将使用Go语言函数来实现一个简单的图书管理系统。通过这个例子,读者可以学习到Go语言中函数的基本用法以及如何构建一个实用的程序。一、设计思路:我们首先来

如何通过C++编写一个简单的音乐推荐系统?如何通过C++编写一个简单的音乐推荐系统?Nov 03, 2023 pm 06:45 PM

如何通过C++编写一个简单的音乐推荐系统?引言:音乐推荐系统是现代信息技术的一个研究热点,它可以根据用户的音乐偏好和行为习惯,向用户推荐符合其口味的歌曲。本文将介绍如何使用C++编写一个简单的音乐推荐系统。一、收集用户数据首先,我们需要收集用户的音乐偏好数据。可以通过在线调查、问卷调查等方式来获得用户对不同类型音乐的喜好程度。将数据保存在一个文本文件或数据库

如何使用PHP开发简单的文件管理功能如何使用PHP开发简单的文件管理功能Sep 20, 2023 pm 01:09 PM

如何使用PHP开发简单的文件管理功能简介:文件管理功能在很多Web应用中都是必不可少的一部分。它允许用户上传、下载、删除和展示文件,为用户提供了便捷的文件管理方式。本文将介绍如何使用PHP开发一个简单的文件管理功能,并提供具体的代码示例。一、创建项目首先,我们需要创建一个基本的PHP项目。在项目目录下创建以下文件:index.php:主页面,用于显示上传表

MySQL表设计指南:创建一个简单的员工考勤表MySQL表设计指南:创建一个简单的员工考勤表Jul 01, 2023 pm 01:54 PM

MySQL表设计指南:创建一个简单的员工考勤表在企业管理中,员工的考勤管理是至关重要的一项任务。为了准确记录和统计员工的考勤情况,我们可以利用MySQL数据库来创建一个简单的员工考勤表。本篇文章将指导您如何设计和创建这个表,并提供相应的代码示例。首先,我们需要确定员工考勤表所需的字段。一般来说,员工考勤表至少需要包含以下字段:员工ID、日期、上班时间、下班时

如何使用PHP编写一个简单的网络爬虫如何使用PHP编写一个简单的网络爬虫Jun 14, 2023 am 08:21 AM

网络爬虫是一种自动化程序,能够自动访问网站并抓取其中的信息。这种技术在如今的互联网世界中越来越常见,被广泛应用于数据挖掘、搜索引擎、社交媒体分析等领域。如果你想了解如何使用PHP编写简单的网络爬虫,本文将会为你提供基本的指导和建议。首先,需要了解一些基本的概念和技术。爬取目标在编写爬虫之前,需要选择爬取的目标。这可以是一个特定的网站、一个特定的网页、或整个互

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター