検索

memcahe は分散ストレージ システムであり、主にサーバー間の接続が存在せず、ハッシュ テーブルが主にキーと値のペアで保存されるという点に反映されます。

mystr

key

value

mystr

“abc”

myarr

Array(“aa”, “cc”);

object

Object值

キー
"abc"
myarr Array(“aa”, “cc”);
オブジェクト オブジェクトの値


動作原理

Memcache ソフトウェア、memcached

memcached は 1 つ以上のサービスでデーモンとして実行され、いつでもクライアントの操作と接続を可能にします。


memcache のインストールについて

Linux 環境でのインストール


libevent イベントに基づく

Linux 環境
libevent インストール時
./configure –with-libevent=/usr
. 🎜>
Make && make install

Memcahced を開始します –d –m 128 –l 192.168.1.111 –p 11211 –u root
停止: kill `cat /tmp/memcached.pid`;
Killall memcached


Windows
Memcahced.exe -d install [アンインストール]
Memcached.exe – d -m 50 –l 127.0.0.1 -p 11211 start
>

、Memcached サーバー管理 (起動)

memcached の基本設定:
-p リスニング ポート
-l 接続先 IP アドレスデフォルトはローカルマシンです。

-d start start memcached service

-d restart memcached サービスを再起動します
-d stop|shutdown 実行中の memcached サービスを閉じます
-d install memcached サービスをインストールします
-d uninstall memcached サービスをアンインストールします。
-u Run as (root として実行する場合のみ有効)
-m 最大メモリ使用量 (MB 単位)。デフォルトは 64MB、最大は 2G のようです
-M メモリが使い果たされた場合、アイテムは削除されずにエラーが返されます
-c 同時接続の最大数、デフォルトは 1024
- f ブロック サイズの増加係数、デフォルトは 1.25
-n 最小割り当てスペース、キー+値+フラグのデフォルトは 48
-h ヘルプの表示





7. memcache を走査する方法

8. PHP プログラムで Memcached を使用する

a PHP に Memcache 拡張機能をインストールする

プロセス指向のメソッドを使用できます


オブジェクト指向メソッド

b PHP の場所 memcache を使用します

1. memcache を使用して、データベースから読み取ったデータを処理 (選択) します
2.

を使用しますセッション制御セッション c 例

9 、Memcache セキュリティ (他人のアクセスを許可しない)

1. イントラネット
2. ファイアウォールのセットアップ
Iptables –A INPUT –p tcp –s 192.168.1.111 –dport 11211 –j ACCEPT
iptables -A INPUT -p udp -s 192.168.1.111 -dpost 11211 -j ACCEPT


インストールを開始します。 🎜>




コマンド


説明 get値を読み取るset無条件にキーを設定します add新しいキーを追加します置き換え

get mykey

set mykey 0 60 5

add newkey 0 60 5

既存のキーを上書きします

キーを置き換えます 0 60 5

追加

既存のキーにデータを追加

キーを追加 0 60 15

prepend

既存のキーの先頭にデータを追加

キーの先頭に追加 0 60 15

incr

数値キーの値を指定された数値だけ増分します

incr mykey 2

decr

数値キーの値を指定された数値だけ減分します

decr mykey 5

delete

既存のキーを削除します

delete mykey

flush_all

特定のアイテムをすぐに無効化します

flush_all

n 秒以内にすべてのアイテムを無効化します

flush_all 900

統計

一般的な統計を印刷します

統計

メモリ統計を印刷します

stats slabs

メモリ統計を印刷します

stats malloc

上位レベルの割り当て統計を出力

統計アイテム


統計詳細


統計サイズ

統計をリセットします

統計をリセットします

バージョン

サーバーのバージョンを出力します。

バージョン

冗長性

ログレベルを上げます

冗長性

終了

Telnet セッションの終了

辞めます

pid

Memcache サーバー プロセス ID

稼働時間

サーバーが実行されている秒数

time

サーバーの現在の UNIX タイムスタンプ

バージョン

memcache version

pointer_size

現在のオペレーティング システムのポインター サイズ (32-ビット システムは通常 32 ビットです)

rusage_user

プロセスの累積ユーザー時間

rusage_system

プロセスの累積システム時間

curr_items

サーバーに現在保存されているアイテムの数

total_items

サーバーの起動以降に保存されたアイテムの合計数

バイト

アイテムを保存する現在のサーバー

curr_connections

現在開いている接続の数

total_connections

サーバーの起動以降に開かれた接続の数

connection_structs

サーバー割り当て コネクション構築数

cmd_get

get コマンド (get) リクエストの総数

cmd_set

set コマンド (save) リクエストの総数リクエスト数

get_hits

合計ヒット数

get_misses

合計ミス回数

エビクション

空きメモリを取得するために削除されたアイテムの数 (memcache に割り当てられたスペースがいっぱいになった後、新しいアイテムに割り当てられたスペースを得るために古いアイテムを削除する必要があります)

bytes_read

合計読み取りバイト数 (要求されたバイト数)

bytes_write

送信された合計バイト数 (結果のバイト数)

limit_maxbytes

memcache に割り当てられたメモリ サイズ (バイト)

スレッド

現在のスレッド数




pid memcache サーバーのプロセス ID
uptime サーバーが実行されている秒数
time サーバーの現在の UNIX タイムスタンプ
version Memcache のバージョン
pointer_size 現在の操作 システムのポインター サイズ (通常、32 ビット システムの場合は 32 ビット)
rusage_user プロセスの累積ユーザー時間
rusage_system プロセスの累積システム時間
curr_items現在サーバーに保存されているアイテム
total_items サーバーの起動以降に保存されたアイテム アイテムの合計数
bytes 現在のサーバーがアイテムを保存するために占有しているバイト数
curr_connections 現在開いている接続の数
total_connectionsサーバーの起動後に開かれた接続の数
connection_structs サーバーによって割り当てられた接続構造の数
cmd_get 取得コマンド (get) のリクエストの総数
cmd_set set コマンド (保存) のリクエスト
get_hits ヒットの合計数
get_misses ミスの合計数
evictions 空きメモリを取得するために削除されました アイテムの数 (memcache に割り当てられたスペースがいっぱいになった後、古いアイテム)新しい項目に割り当てるスペースを取得するには削除する必要があります)
bytes_read 読み取られた合計バイト数 (要求されたバイト数)
bytes_write 送信された合計バイト数 (結果のバイト数)
limit_maxbytes 割り当てられたメモリ サイズto memcache (bytes)
threads 現在のスレッド数


詳細については、PHP マニュアルの「LXXXIV. Memcache 関数」の章を参照してください。
Memcache の一般的なオブジェクト指向インターフェイスには次のものがあります。
Memcache::connect -- Memcache への接続を開きます
Memcache::pconnect -- Memcache への長い接続を開きます
Memcache::close - - Memcache 接続を閉じる
Memcache::set -- データを Memcache サーバーに保存します
Memcache::get -- Memcache サーバーに保存されたデータを抽出します
Memcache::replace -- すでに存在する 1 つのプロジェクトを置き換えますMemcache サーバー上に存在します (Memcache::set と同様の機能)
Memcache::delete -- 保存されているプロジェクトを Memcache サーバーから削除します
Memcache::flush -- Memcache サーバーに保存されているすべてのプロジェクトを更新します (同様の機能)
Memcache::getStats -- 実行中の現在の Memcache サーバーのステータスを取得します。
Memcache::addServer -- 分散サーバーにサーバーを追加します

php を使用して memcache を操作する


$mem=new Memcache;

$mem->connect ("localhost", 11211);

/*
* 注:
* 1. 同じプロジェクトを 2 回インストールする場合、キーにはプレフィックス
*
* */

$sql="ショップから * を選択";
$key=substr(md5($sql), 10, 8);

$data=$mem -> ;get($key);

if(!$data){

$mysqli=new mysqli("localhost", "root", "123456", "xsphpdb") ;

$result=$mysqli->query($sql);

$data=array();

while($row=$result->; Fetch_assoc( )){
$data[]=$row;
}

$result->free();
$mysqli->close();

$mem->set($key, $data, MEMCACHE_COMPRESSED, 3600);

echo $sql;

}
echo '

';<br> print_r($data);<br> echo '
';

$mem->close();


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
セッションを保存するためにデータベースを使用することの利点は何ですか?セッションを保存するためにデータベースを使用することの利点は何ですか?Apr 24, 2025 am 12:16 AM

データベースストレージセッションを使用することの主な利点には、持続性、スケーラビリティ、セキュリティが含まれます。 1。永続性:サーバーが再起動しても、セッションデータは変更されないままになります。 2。スケーラビリティ:分散システムに適用され、セッションデータが複数のサーバー間で同期されるようにします。 3。セキュリティ:データベースは、機密情報を保護するための暗号化されたストレージを提供します。

PHPでカスタムセッション処理をどのように実装しますか?PHPでカスタムセッション処理をどのように実装しますか?Apr 24, 2025 am 12:16 AM

PHPでのカスタムセッション処理の実装は、SessionHandlerInterfaceインターフェイスを実装することで実行できます。具体的な手順には、次のものが含まれます。1)CussentsessionHandlerなどのSessionHandlerInterfaceを実装するクラスの作成。 2)セッションデータのライフサイクルとストレージ方法を定義するためのインターフェイス(オープン、クローズ、読み取り、書き込み、破壊、GCなど)の書き換え方法。 3)PHPスクリプトでカスタムセッションプロセッサを登録し、セッションを開始します。これにより、データをMySQLやRedisなどのメディアに保存して、パフォーマンス、セキュリティ、スケーラビリティを改善できます。

セッションIDとは何ですか?セッションIDとは何ですか?Apr 24, 2025 am 12:13 AM

SessionIDは、ユーザーセッションのステータスを追跡するためにWebアプリケーションで使用されるメカニズムです。 1.ユーザーとサーバー間の複数のインタラクション中にユーザーのID情報を維持するために使用されるランダムに生成された文字列です。 2。サーバーは、ユーザーの複数のリクエストでこれらの要求を識別および関連付けるのに役立つCookieまたはURLパラメーターを介してクライアントに生成および送信します。 3.生成は通常、ランダムアルゴリズムを使用して、一意性と予測不可能性を確保します。 4.実際の開発では、Redisなどのメモリ内データベースを使用してセッションデータを保存してパフォーマンスとセキュリティを改善できます。

ステートレス環境(APIなど)でセッションをどのように処理しますか?ステートレス環境(APIなど)でセッションをどのように処理しますか?Apr 24, 2025 am 12:12 AM

APIなどのステートレス環境でのセッションの管理は、JWTまたはCookieを使用して達成できます。 1。JWTは、無国籍とスケーラビリティに適していますが、ビッグデータに関してはサイズが大きいです。 2.cookiesはより伝統的で実装が簡単ですが、セキュリティを確保するために慎重に構成する必要があります。

セッションに関連するクロスサイトスクリプティング(XSS)攻撃からどのように保護できますか?セッションに関連するクロスサイトスクリプティング(XSS)攻撃からどのように保護できますか?Apr 23, 2025 am 12:16 AM

セッション関連のXSS攻撃からアプリケーションを保護するには、次の測定が必要です。1。セッションCookieを保護するためにHTTPonlyとセキュアフラグを設定します。 2。すべてのユーザー入力のエクスポートコード。 3.コンテンツセキュリティポリシー(CSP)を実装して、スクリプトソースを制限します。これらのポリシーを通じて、セッション関連のXSS攻撃を効果的に保護し、ユーザーデータを確保できます。

PHPセッションのパフォーマンスを最適化するにはどうすればよいですか?PHPセッションのパフォーマンスを最適化するにはどうすればよいですか?Apr 23, 2025 am 12:13 AM

PHPセッションのパフォーマンスを最適化する方法は次のとおりです。1。遅延セッション開始、2。データベースを使用してセッションを保存します。これらの戦略は、高い並行性環境でのアプリケーションの効率を大幅に改善できます。

session.gc_maxlifetime構成設定とは何ですか?session.gc_maxlifetime構成設定とは何ですか?Apr 23, 2025 am 12:10 AM

thesession.gc_maxlifettinginttinginphpdethinesthelifsessessiondata、setinseconds.1)it'sconfiguredinphp.iniorviaini_set()。 2)AbalanceSneededToAvoidPerformanceIssues andunexpectedLogouts.3)php'sgarbagecollectionisisprobabilistic、影響を受けたBygc_probabi

PHPでセッション名をどのように構成しますか?PHPでセッション名をどのように構成しますか?Apr 23, 2025 am 12:08 AM

PHPでは、session_name()関数を使用してセッション名を構成できます。特定の手順は次のとおりです。1。session_name()関数を使用して、session_name( "my_session")などのセッション名を設定します。 2。セッション名を設定した後、session_start()を呼び出してセッションを開始します。セッション名の構成は、複数のアプリケーション間のセッションデータの競合を回避し、セキュリティを強化することができますが、セッション名の一意性、セキュリティ、長さ、設定タイミングに注意してください。

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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)