mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-08 23:52:49 +08:00
缓存有效期参数支持传入DateTime对象
This commit is contained in:
9
library/think/cache/driver/File.php
vendored
9
library/think/cache/driver/File.php
vendored
@@ -127,9 +127,9 @@ class File extends Driver
|
|||||||
/**
|
/**
|
||||||
* 写入缓存
|
* 写入缓存
|
||||||
* @access public
|
* @access public
|
||||||
* @param string $name 缓存变量名
|
* @param string $name 缓存变量名
|
||||||
* @param mixed $value 存储数据
|
* @param mixed $value 存储数据
|
||||||
* @param int $expire 有效时间 0为永久
|
* @param integer|DateTime $expire 有效时间(秒)
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
public function set($name, $value, $expire = null)
|
public function set($name, $value, $expire = null)
|
||||||
@@ -137,6 +137,9 @@ class File extends Driver
|
|||||||
if (is_null($expire)) {
|
if (is_null($expire)) {
|
||||||
$expire = $this->options['expire'];
|
$expire = $this->options['expire'];
|
||||||
}
|
}
|
||||||
|
if ($expire instanceof \DateTime) {
|
||||||
|
$expire = $expire->getTimestamp() - time();
|
||||||
|
}
|
||||||
$filename = $this->getCacheKey($name);
|
$filename = $this->getCacheKey($name);
|
||||||
if ($this->tag && !is_file($filename)) {
|
if ($this->tag && !is_file($filename)) {
|
||||||
$first = true;
|
$first = true;
|
||||||
|
|||||||
18
library/think/cache/driver/Lite.php
vendored
18
library/think/cache/driver/Lite.php
vendored
@@ -77,7 +77,7 @@ class Lite extends Driver
|
|||||||
if (is_file($filename)) {
|
if (is_file($filename)) {
|
||||||
// 判断是否过期
|
// 判断是否过期
|
||||||
$mtime = filemtime($filename);
|
$mtime = filemtime($filename);
|
||||||
if ($mtime < $_SERVER['REQUEST_TIME']) {
|
if ($mtime < time()) {
|
||||||
// 清除已经过期的文件
|
// 清除已经过期的文件
|
||||||
unlink($filename);
|
unlink($filename);
|
||||||
return $default;
|
return $default;
|
||||||
@@ -91,9 +91,9 @@ class Lite extends Driver
|
|||||||
/**
|
/**
|
||||||
* 写入缓存
|
* 写入缓存
|
||||||
* @access public
|
* @access public
|
||||||
* @param string $name 缓存变量名
|
* @param string $name 缓存变量名
|
||||||
* @param mixed $value 存储数据
|
* @param mixed $value 存储数据
|
||||||
* @param int $expire 有效时间 0为永久
|
* @param integer|DateTime $expire 有效时间(秒)
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public function set($name, $value, $expire = null)
|
public function set($name, $value, $expire = null)
|
||||||
@@ -101,9 +101,11 @@ class Lite extends Driver
|
|||||||
if (is_null($expire)) {
|
if (is_null($expire)) {
|
||||||
$expire = $this->options['expire'];
|
$expire = $this->options['expire'];
|
||||||
}
|
}
|
||||||
// 模拟永久
|
if ($expire instanceof \DateTime) {
|
||||||
if (0 === $expire) {
|
$expire = $expire->getTimestamp();
|
||||||
$expire = 10 * 365 * 24 * 3600;
|
} else {
|
||||||
|
$expire = 0 === $expire ? 10 * 365 * 24 * 3600 : $expire;
|
||||||
|
$expire = time() + $expire;
|
||||||
}
|
}
|
||||||
$filename = $this->getCacheKey($name);
|
$filename = $this->getCacheKey($name);
|
||||||
if ($this->tag && !is_file($filename)) {
|
if ($this->tag && !is_file($filename)) {
|
||||||
@@ -113,7 +115,7 @@ class Lite extends Driver
|
|||||||
// 通过设置修改时间实现有效期
|
// 通过设置修改时间实现有效期
|
||||||
if ($ret) {
|
if ($ret) {
|
||||||
isset($first) && $this->setTagItem($filename);
|
isset($first) && $this->setTagItem($filename);
|
||||||
touch($filename, $_SERVER['REQUEST_TIME'] + $expire);
|
touch($filename, $expire);
|
||||||
}
|
}
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|||||||
9
library/think/cache/driver/Memcache.php
vendored
9
library/think/cache/driver/Memcache.php
vendored
@@ -82,9 +82,9 @@ class Memcache extends Driver
|
|||||||
/**
|
/**
|
||||||
* 写入缓存
|
* 写入缓存
|
||||||
* @access public
|
* @access public
|
||||||
* @param string $name 缓存变量名
|
* @param string $name 缓存变量名
|
||||||
* @param mixed $value 存储数据
|
* @param mixed $value 存储数据
|
||||||
* @param integer $expire 有效时间(秒)
|
* @param integer|DateTime $expire 有效时间(秒)
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public function set($name, $value, $expire = null)
|
public function set($name, $value, $expire = null)
|
||||||
@@ -92,6 +92,9 @@ class Memcache extends Driver
|
|||||||
if (is_null($expire)) {
|
if (is_null($expire)) {
|
||||||
$expire = $this->options['expire'];
|
$expire = $this->options['expire'];
|
||||||
}
|
}
|
||||||
|
if ($expire instanceof \DateTime) {
|
||||||
|
$expire = $expire->getTimestamp() - time();
|
||||||
|
}
|
||||||
if ($this->tag && !$this->has($name)) {
|
if ($this->tag && !$this->has($name)) {
|
||||||
$first = true;
|
$first = true;
|
||||||
}
|
}
|
||||||
|
|||||||
9
library/think/cache/driver/Memcached.php
vendored
9
library/think/cache/driver/Memcached.php
vendored
@@ -93,9 +93,9 @@ class Memcached extends Driver
|
|||||||
/**
|
/**
|
||||||
* 写入缓存
|
* 写入缓存
|
||||||
* @access public
|
* @access public
|
||||||
* @param string $name 缓存变量名
|
* @param string $name 缓存变量名
|
||||||
* @param mixed $value 存储数据
|
* @param mixed $value 存储数据
|
||||||
* @param integer $expire 有效时间(秒)
|
* @param integer|DateTime $expire 有效时间(秒)
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public function set($name, $value, $expire = null)
|
public function set($name, $value, $expire = null)
|
||||||
@@ -103,6 +103,9 @@ class Memcached extends Driver
|
|||||||
if (is_null($expire)) {
|
if (is_null($expire)) {
|
||||||
$expire = $this->options['expire'];
|
$expire = $this->options['expire'];
|
||||||
}
|
}
|
||||||
|
if ($expire instanceof \DateTime) {
|
||||||
|
$expire = $expire->getTimestamp() - time();
|
||||||
|
}
|
||||||
if ($this->tag && !$this->has($name)) {
|
if ($this->tag && !$this->has($name)) {
|
||||||
$first = true;
|
$first = true;
|
||||||
}
|
}
|
||||||
|
|||||||
9
library/think/cache/driver/Redis.php
vendored
9
library/think/cache/driver/Redis.php
vendored
@@ -91,9 +91,9 @@ class Redis extends Driver
|
|||||||
/**
|
/**
|
||||||
* 写入缓存
|
* 写入缓存
|
||||||
* @access public
|
* @access public
|
||||||
* @param string $name 缓存变量名
|
* @param string $name 缓存变量名
|
||||||
* @param mixed $value 存储数据
|
* @param mixed $value 存储数据
|
||||||
* @param integer $expire 有效时间(秒)
|
* @param integer|DateTime $expire 有效时间(秒)
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
public function set($name, $value, $expire = null)
|
public function set($name, $value, $expire = null)
|
||||||
@@ -101,6 +101,9 @@ class Redis extends Driver
|
|||||||
if (is_null($expire)) {
|
if (is_null($expire)) {
|
||||||
$expire = $this->options['expire'];
|
$expire = $this->options['expire'];
|
||||||
}
|
}
|
||||||
|
if ($expire instanceof \DateTime) {
|
||||||
|
$expire = $expire->getTimestamp() - time();
|
||||||
|
}
|
||||||
if ($this->tag && !$this->has($name)) {
|
if ($this->tag && !$this->has($name)) {
|
||||||
$first = true;
|
$first = true;
|
||||||
}
|
}
|
||||||
|
|||||||
12
library/think/cache/driver/Sqlite.php
vendored
12
library/think/cache/driver/Sqlite.php
vendored
@@ -96,9 +96,9 @@ class Sqlite extends Driver
|
|||||||
/**
|
/**
|
||||||
* 写入缓存
|
* 写入缓存
|
||||||
* @access public
|
* @access public
|
||||||
* @param string $name 缓存变量名
|
* @param string $name 缓存变量名
|
||||||
* @param mixed $value 存储数据
|
* @param mixed $value 存储数据
|
||||||
* @param integer $expire 有效时间(秒)
|
* @param integer|DateTime $expire 有效时间(秒)
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
public function set($name, $value, $expire = null)
|
public function set($name, $value, $expire = null)
|
||||||
@@ -108,7 +108,11 @@ class Sqlite extends Driver
|
|||||||
if (is_null($expire)) {
|
if (is_null($expire)) {
|
||||||
$expire = $this->options['expire'];
|
$expire = $this->options['expire'];
|
||||||
}
|
}
|
||||||
$expire = (0 == $expire) ? 0 : ($_SERVER['REQUEST_TIME'] + $expire); //缓存有效期为0表示永久缓存
|
if ($expire instanceof \DateTime) {
|
||||||
|
$expire = $expire->getTimestamp();
|
||||||
|
} else {
|
||||||
|
$expire = (0 == $expire) ? 0 : (time() + $expire); //缓存有效期为0表示永久缓存
|
||||||
|
}
|
||||||
if (function_exists('gzcompress')) {
|
if (function_exists('gzcompress')) {
|
||||||
//数据压缩
|
//数据压缩
|
||||||
$value = gzcompress($value, 3);
|
$value = gzcompress($value, 3);
|
||||||
|
|||||||
9
library/think/cache/driver/Wincache.php
vendored
9
library/think/cache/driver/Wincache.php
vendored
@@ -68,9 +68,9 @@ class Wincache extends Driver
|
|||||||
/**
|
/**
|
||||||
* 写入缓存
|
* 写入缓存
|
||||||
* @access public
|
* @access public
|
||||||
* @param string $name 缓存变量名
|
* @param string $name 缓存变量名
|
||||||
* @param mixed $value 存储数据
|
* @param mixed $value 存储数据
|
||||||
* @param integer $expire 有效时间(秒)
|
* @param integer|DateTime $expire 有效时间(秒)
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
public function set($name, $value, $expire = null)
|
public function set($name, $value, $expire = null)
|
||||||
@@ -78,6 +78,9 @@ class Wincache extends Driver
|
|||||||
if (is_null($expire)) {
|
if (is_null($expire)) {
|
||||||
$expire = $this->options['expire'];
|
$expire = $this->options['expire'];
|
||||||
}
|
}
|
||||||
|
if ($expire instanceof \DateTime) {
|
||||||
|
$expire = $expire->getTimestamp() - time();
|
||||||
|
}
|
||||||
$key = $this->getCacheKey($name);
|
$key = $this->getCacheKey($name);
|
||||||
if ($this->tag && !$this->has($name)) {
|
if ($this->tag && !$this->has($name)) {
|
||||||
$first = true;
|
$first = true;
|
||||||
|
|||||||
9
library/think/cache/driver/Xcache.php
vendored
9
library/think/cache/driver/Xcache.php
vendored
@@ -68,9 +68,9 @@ class Xcache extends Driver
|
|||||||
/**
|
/**
|
||||||
* 写入缓存
|
* 写入缓存
|
||||||
* @access public
|
* @access public
|
||||||
* @param string $name 缓存变量名
|
* @param string $name 缓存变量名
|
||||||
* @param mixed $value 存储数据
|
* @param mixed $value 存储数据
|
||||||
* @param integer $expire 有效时间(秒)
|
* @param integer|DateTime $expire 有效时间(秒)
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
public function set($name, $value, $expire = null)
|
public function set($name, $value, $expire = null)
|
||||||
@@ -78,6 +78,9 @@ class Xcache extends Driver
|
|||||||
if (is_null($expire)) {
|
if (is_null($expire)) {
|
||||||
$expire = $this->options['expire'];
|
$expire = $this->options['expire'];
|
||||||
}
|
}
|
||||||
|
if ($expire instanceof \DateTime) {
|
||||||
|
$expire = $expire->getTimestamp() - time();
|
||||||
|
}
|
||||||
if ($this->tag && !$this->has($name)) {
|
if ($this->tag && !$this->has($name)) {
|
||||||
$first = true;
|
$first = true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user