| Server IP : 156.238.232.47 / Your IP : 216.73.216.150 Web Server : nginx/1.25.3 System : Linux C202504152095410 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : www ( 1000) PHP Version : 8.3.25 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /www/data/wwwroot/2025_12_21_03/core/cache/ |
Upload File : |
<?php
/**
* @copyright (C)2016-2099 Hnaoyun Inc.
* @author XingMeng
* @email hnxsh@foxmail.com
* @date 2017年10月24日
* Memcache缓存类
*/
namespace core\cache;
use core\basic\Config;
class Memcache implements Builder
{
protected static $memcache;
protected $conn;
// 禁止直接实例化
private function __construct()
{}
private function __clone()
{
error('禁止克隆实例!');
}
// 单一实例获取
public static function getInstance()
{
if (! self::$memcache) {
self::$memcache = new self();
}
return self::$memcache;
}
// 初始化连接
protected function conn()
{
if (! $this->conn) {
$this->conn = new Memcache();
$server = Config::get('cache.server');
if (is_multi_array($server)) {
foreach ($server as $value) {
$this->conn->addserver($value['host'], $value['port']);
}
} else {
$this->conn->addserver($server['host'], $server['port']);
}
}
return $this->conn;
}
// 设置值
public function set($key, $value)
{
$memcache = $this->conn();
return $memcache->set($key, $value);
}
// 读取值
public function get($key)
{
$memcache = $this->conn();
return $memcache->get($key);
}
// 删除
public function delete($key)
{
$memcache = $this->conn();
return $memcache->delete($key);
}
// 清理所有
public function flush()
{
$memcache = $this->conn();
return $memcache->flush();
}
// 版本信息
public function status()
{
$memcache = $this->conn();
return $memcache->getExtendedStats();
}
// 关闭连接
public function __destruct()
{
$memcache = $this->conn();
$memcache->close();
}
}