検索
ホームページCMS チュートリアルECShopECSHOPのMySQLキャッシュクリアの紹介

ECSHOPのMySQLキャッシュクリアの紹介

Mar 15, 2021 am 10:25 AM
ecshopmysqlキャッシュ

ECSHOPのMySQLキャッシュクリアの紹介

ECSHOP のキャッシュは template/caches/article フォルダーに保存されます。時間が経つと、このフォルダーは非常に大きくなり、Web サイトの速度が低下します。彼のキャッシュが必要ない状況はたくさんあります。この記事では、ECSHOP キャッシュを無効にする方法について説明します。

ECSHOP のキャッシュには 2 つの部分があり、1 つは SMARTY のページ キャッシュ、もう 1 つは SQL クエリ結果のキャッシュです。どちらの部分も template/caches/ フォルダーに保存されます。この 2 つの機能をそれぞれオフにすれば、ECSHOP のキャッシュを完全に無効にすることができます。もちろん、必要に応じてそのうちの 1 つをオフにすることもできます。

推奨 (無料): ecshop

1. SMARTY のキャッシュをオフにする

Openincludes/cls_template.php、次の段落を見つけます

if (file_put_contents($this->cache_dir . ‘/’ . $cachename . ‘.php’, ‘<?php exit;?>’ . $data . $out) === false)
{
trigger_error(‘can’t write:’ . $this->cache_dir . ‘/’ . $cachename . ‘.php’);
}

--このコードをコメントアウトします

2. SQL クエリ結果キャッシュをオフにします

Openincludes/cls_mysql.php

Find

var $max_cache_time=3600;//最大的缓存时间,以秒为单位

Change to

var $max_cache_time=0;//最大的缓存时间,以秒为单位

ECShop キャッシュを制限または無効にするにはどうすればよいですか?論理的に言えば、FTP 経由でホスト スペース サーバーにログインし、「templates/caches」フォルダー内のキャッシュ ファイルをクリアするだけで済みます。ただし、より安全で確実な方法は、ecshop オンライン ストアのバックエンドに入り、「」をクリックすることです。右上隅にある「キャッシュをクリア」ボタンをクリックします。または、ecshop のキャッシュ機能を完全に無効にします。

1.ecshop の一部のデータ テーブルのキャッシュを無効にする

ecshop のキャッシュ フォルダー内のキャッシュ ファイルには、SQL クエリ結果キャッシュと SMARTY テンプレート ページ キャッシュが含まれます。 Webサイトを訪れるユーザーが多い場合、これらの一時キャッシュデータはECshopの「templates/caches」フォルダに保存されます。データ キャッシュはオンライン ストアの速度向上に一定の役割を果たしますが、キャッシュ ファイルが多すぎると多すぎます。キャッシュを無効にできるのは 2 つのテーブル favourable_activity、goods_activity だけであるという人もいます。

include/init.php を開き、

PHP コード

$db->set_disable_cache_tables(array($ecs->table(’sessions’), $ecs->table(’sessions_data’), $ecs->table(’cart’)));

を見つけて、

PHP コード

$db->set_disable_cache_tables(array($ecs->table(’sessions’), $ecs->table(’sessions_data’), $ecs->table(’cart’), $ecs->table(’favourable_activity’), $ecs->table(’goods_activity’)));

## に変更します。 #2 、ecshop のキャッシュを完全に無効にする

キャッシュ ファイルをクリアするには、ecshop オンライン ストアのバックエンドに定期的にログインする必要がありますが、これは怠け者にとっては非常に面倒です。次に、ecshop キャッシュを完全に無効にするだけです。 echsop キャッシュの無効化に関する Xiao Chong の記事を参照してください。Xiao Chong の特定のコードはバージョン 2.6.0 あたりです。 2.7 ecshop でキャッシュ変更を無効にする方法は同様です:

1. editplus を使用して include/cls_template.php を開き、次のコードをコメント アウトします:

PHP コード

2. editplus を使用して include/cls_mysql.php を開き、max_cache_time = 300 を見つけて、300 を 0

3 に変更します。templates/compiled の下にあるファイルはクリアできますか?

templates /compiled の下にあるファイルはテンプレートでコンパイルされたファイルであり、クリアできます。ユーザーがオンラインストアを閲覧すると再生成されます。テンプレート フォルダーの主な問題は、キャッシュ内にキャッシュ ファイルが多すぎることです。ecshop キャッシュを定期的にクリアするか、完全に無効にすることができます。

---------------------------------------- --

キャッシュクリアに関するアドバイス!!

現在のキャッシュクリアはかなり荒いことが分かりました! 以前と大きな変化はありません! 2.0.5.

# と同じです。 ## バックグラウンドで変更操作がある限り、キャッシュ全体が失われます! 使用されるのはすべて $smarty->clear_all_cache();

欠点: 100,000 個の製品があり、それらがすべてある場合バックグラウンドでの 1 つの操作で 150,000 を超えるキャッシュ ファイルをクリアする必要があります:) これは少し極端なようです。

単なる例です。ECSHOP がより完璧になることを願っています。

smarty にはこの関数はありませんか?

clear_cache() に少し修正を加え、特定のディレクトリ内のキャッシュを削除するように指定できるように追加しました。製品のカテゴリ キャッシュ!

私は 2.0.5 を使用しています。これが変更され、キャッシュ ディレクトリ

templates_caches

がルート ディレクトリに作成され、article、article_cat、goods、その中にgoods_catが作成され、記事コンテンツ、記事リスト、商品コンテンツの4つのフォルダが作成されます、商品リストのキャッシュ例:商品と記事の修正

追加フロントエンドの init.php とバックエンドの init.php に次のコードを追加しました。便宜上、config.php に直接追加しました。

//缓存目录设置
define(&#39;ECS_ROOT&#39;, substr(dirname(__FILE__), 0, -8));//前后台数字当然不一样了:)
//文章缓存
$cache_dir_article = ECS_ROOT.&#39;./templates_caches/article&#39;;
$cache_dir_article_cat = ECS_ROOT.&#39;./templates_caches/article_cat&#39;;
//商品缓存
$cache_dir_goods = ECS_ROOT.&#39;./templates_caches/goods&#39;;
$cache_dir_goods_cat = ECS_ROOT.&#39;./templates_caches/goods_cat&#39;;

フロントエンドの製品コンテンツとカテゴリのキャッシュ時間は、個別に設定されます。コンテンツは 1 か月、カテゴリは 1 日など、長くする必要があります。

製品が個別に変更されるバックエンドを変更し、この製品コンテンツのキャッシュのみが削除されます

修正操作は商品カテゴリーキャッシュとホームページキャッシュを削除! 以下を追加

$smarty->clear_cache(null, null, null, null, $cache_dir_goods_cat);//zouql:删除商品目录缓存,默认缓存时间
$smarty->clear_cache(&#39;goods.html&#39;, $goods_id, null, null, $cache_dir_goods);//zouql:删除商品缓存,默认缓存时间

広告管理などもありますなどなどなどなど変更予定!

フロントユーザー コメント投稿後などにこの商品キャッシュを自動削除....

function clear_cache($tpl_file = null, $cache_id = null, $compile_id = null, $exp_time = null, $cache_dir = null)
{
if (!isset($cache_dir))
$cache_dir = $this->cache_dir;
if (!isset($compile_id))
$compile_id = $this->compile_id;
if (!isset($tpl_file))
$compile_id = null;
$_auto_id = $this->_get_auto_id($cache_id, $compile_id);
if (!empty($this->cache_handler_func)) {
return call_user_func_array($this->cache_handler_func,
array(&#39;clear&#39;, &$this, &$dummy, $tpl_file, $cache_id, $compile_id, $exp_time));
} else {
$_params = array(&#39;auto_base&#39; => $cache_dir,
&#39;auto_source&#39; => $tpl_file,
&#39;auto_id&#39; => $_auto_id,
&#39;exp_time&#39; => $exp_time);
require_once(SMARTY_CORE_DIR . &#39;core.rm_auto.php&#39;);
return smarty_core_rm_auto($_params, $this);
}
}

以上がECSHOPのMySQLキャッシュクリアの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はCSDNで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

DVWA

DVWA

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

EditPlus 中国語クラック版

EditPlus 中国語クラック版

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

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい