关注分享主机优惠活动
国内外VPS云服务器

如何在PHP文件中实现缓存(How to cache data in PHP files)

PHP 提供了多种实现缓存的方法,以提高性能并减少服务器负载。 以下是一些常用的缓存技术:

  1. 文件缓存:

在服务器上存储数据。 对于文件来说,这是一种简单的缓存方法。 您可以使用内置的 file_put_contents()file_get_contents() 函数读取和写入缓存文件。

函数 cache_data($key, $data, $ttl = 3600) {
 $filename = '缓存/'md5($key);
 $now = 时间();

 if (file_exists($filename) && ($data_from_file = file_get_contents($filename) ) !== false) {
 $data_from_file = 串行if($data_from_file) ;

 if ($now - $data_from_file['时间'] < $ttl) {
 返回 $data_from_file['数据'];
  }
 }

 $data_to_store = [
 '数据' = > $data,
 '时间' => $now,
 ];

 file_put_contents($文件名, 序列化($data_to_store));
 返回 $data;
}

$key = 'my_data_key';
$data= ['姓名' => 'John Doe', '年龄' => 30];
$cached_data = cache_data($key, $data ) ;
  1. Memcached:

Memcached是高性能分布式内存。 对象缓存系统可用于: 缓存各种数据类型。 首先,您需要安装并启动 Memcached 服务器,然后将 mem 与 PHP 结合使用。cached 扩展用于连接和使用缓存。

//安装memcached并启动服务器
// sudo apt-get install memcached
// sudo 服务 memcached  start

// 安装 PHP 的 memcached 扩展
// pecl 安装 memcached 
// echo "extension=memcached.so" | sudo tee  /etc/php/7.x/mods-available/memcached.ini
// sudo phpenmod memcached
// sudo 服务 php7.x-fpm 重新启动

$memcached =  Memcached();
$memcached->addServer('localhost', 11211);

函数 cache_data($键$data$ttl = 3600) {
 全球 $memcached;
 $cache_key = 'my_data_key';

 if ($mem缓存->get($cache_key)) {
 返回 $memcached->get($cache_key);
 }

 $data_to_store = [
 '数据' => $data,
  'time' => 时间(),
 ];

 $memcached->设置($cache_key$data_to_store, $ttl);
 返回 $data;
}

$key = 'my_data_key';
$data = ['姓名' => 'John Doe', 'age' => 30];
$cached_data = cache_data($key, $data);
  1. 女士们:
  2. [小时]

[小时]

Redis 是一个高性能的键/值数据库,可以用作缓存系统。 首先,您需要安装并启动 Redis 服务器,然后使用 PHP redis 扩展连接到缓存并使用缓存。

//安装Redis并启动服务器
// sudo apt-get install redis-server
// sudo service redis-server start

// 在 PHP 中安装 redis 扩展
// pecl 安装 redis
// echo "extension=redis.so" | sudo tee /etc/php/7.x/mods-available/redis.ini
 // sudo phpenmod redis
// sudo 服务 php7.x-fpm restart

$redis = 新建 Redis();
$redis->连接( '127.0.0.1'6379);

函数 cache_data($key, $data$ttl = 3600) {
 全局 $redis ;
  $cache_key = 'my_data_key';

 如果 ($redis->存在($cache_key)) {
 返回 json_decode( $redis->get($cache_key), true);
 }

 $data_to_store = [
 '数据' => $data,
 '时间' => 时间(),
 ];

 $redis->setex($cache_key, $ttl, json_encode($data_to_store)); 
 返回 $data;
}

$key = 'my_data_key';
$data = ['name'  => 'John Doe', '年龄' => 30];
$cached_data = cache_data($key, $data);
 

您可以根据项目的需要和性能要求在这些缓存方法之间进行选择

以上内容来源于网络,不代表本站所有观点:关注zhujipindao.com

未经允许不得转载:主机频道 » 如何在PHP文件中实现缓存(How to cache data in PHP files)

评论 抢沙发

评论前必须登录!