mirror of
https://github.com/wavelog/wavelog.git
synced 2026-03-22 10:24:14 +00:00
updated cache lib and drivers from https://github.com/pocketarc/codeigniter
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
*
|
*
|
||||||
* This content is released under the MIT License (MIT)
|
* This content is released under the MIT License (MIT)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2014 - 2019, British Columbia Institute of Technology
|
* Copyright (c) 2019 - 2022, CodeIgniter Foundation
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
* @author EllisLab Dev Team
|
* @author EllisLab Dev Team
|
||||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
|
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
|
||||||
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
|
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
|
||||||
|
* @copyright Copyright (c) 2019 - 2022, CodeIgniter Foundation (https://codeigniter.com/)
|
||||||
* @license https://opensource.org/licenses/MIT MIT License
|
* @license https://opensource.org/licenses/MIT MIT License
|
||||||
* @link https://codeigniter.com
|
* @link https://codeigniter.com
|
||||||
* @since Version 2.0.0
|
* @since Version 2.0.0
|
||||||
@@ -265,4 +266,4 @@ class CI_Cache extends CI_Driver_Library {
|
|||||||
{
|
{
|
||||||
return $this->_adapter;
|
return $this->_adapter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
*
|
*
|
||||||
* This content is released under the MIT License (MIT)
|
* This content is released under the MIT License (MIT)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2014 - 2019, British Columbia Institute of Technology
|
* Copyright (c) 2019 - 2022, CodeIgniter Foundation
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
* @author EllisLab Dev Team
|
* @author EllisLab Dev Team
|
||||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
|
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
|
||||||
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
|
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
|
||||||
|
* @copyright Copyright (c) 2019 - 2022, CodeIgniter Foundation (https://codeigniter.com/)
|
||||||
* @license https://opensource.org/licenses/MIT MIT License
|
* @license https://opensource.org/licenses/MIT MIT License
|
||||||
* @link https://codeigniter.com
|
* @link https://codeigniter.com
|
||||||
* @since Version 2.0.0
|
* @since Version 2.0.0
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
*
|
*
|
||||||
* This content is released under the MIT License (MIT)
|
* This content is released under the MIT License (MIT)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2014 - 2019, British Columbia Institute of Technology
|
* Copyright (c) 2019 - 2022, CodeIgniter Foundation
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
* @author EllisLab Dev Team
|
* @author EllisLab Dev Team
|
||||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
|
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
|
||||||
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
|
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
|
||||||
|
* @copyright Copyright (c) 2019 - 2022, CodeIgniter Foundation (https://codeigniter.com/)
|
||||||
* @license https://opensource.org/licenses/MIT MIT License
|
* @license https://opensource.org/licenses/MIT MIT License
|
||||||
* @link https://codeigniter.com
|
* @link https://codeigniter.com
|
||||||
* @since Version 2.0
|
* @since Version 2.0
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
*
|
*
|
||||||
* This content is released under the MIT License (MIT)
|
* This content is released under the MIT License (MIT)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2014 - 2019, British Columbia Institute of Technology
|
* Copyright (c) 2019 - 2022, CodeIgniter Foundation
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
* @author EllisLab Dev Team
|
* @author EllisLab Dev Team
|
||||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
|
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
|
||||||
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
|
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
|
||||||
|
* @copyright Copyright (c) 2019 - 2022, CodeIgniter Foundation (https://codeigniter.com/)
|
||||||
* @license https://opensource.org/licenses/MIT MIT License
|
* @license https://opensource.org/licenses/MIT MIT License
|
||||||
* @link https://codeigniter.com
|
* @link https://codeigniter.com
|
||||||
* @since Version 2.0
|
* @since Version 2.0
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
*
|
*
|
||||||
* This content is released under the MIT License (MIT)
|
* This content is released under the MIT License (MIT)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2014 - 2019, British Columbia Institute of Technology
|
* Copyright (c) 2019 - 2022, CodeIgniter Foundation
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
* @author EllisLab Dev Team
|
* @author EllisLab Dev Team
|
||||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
|
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
|
||||||
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
|
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
|
||||||
|
* @copyright Copyright (c) 2019 - 2022, CodeIgniter Foundation (https://codeigniter.com/)
|
||||||
* @license https://opensource.org/licenses/MIT MIT License
|
* @license https://opensource.org/licenses/MIT MIT License
|
||||||
* @link https://codeigniter.com
|
* @link https://codeigniter.com
|
||||||
* @since Version 2.0
|
* @since Version 2.0
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
*
|
*
|
||||||
* This content is released under the MIT License (MIT)
|
* This content is released under the MIT License (MIT)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2014 - 2019, British Columbia Institute of Technology
|
* Copyright (c) 2019 - 2022, CodeIgniter Foundation
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
* @author EllisLab Dev Team
|
* @author EllisLab Dev Team
|
||||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
|
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
|
||||||
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
|
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
|
||||||
|
* @copyright Copyright (c) 2019 - 2022, CodeIgniter Foundation (https://codeigniter.com/)
|
||||||
* @license https://opensource.org/licenses/MIT MIT License
|
* @license https://opensource.org/licenses/MIT MIT License
|
||||||
* @link https://codeigniter.com
|
* @link https://codeigniter.com
|
||||||
* @since Version 3.0.0
|
* @since Version 3.0.0
|
||||||
@@ -58,7 +59,7 @@ class CI_Cache_redis extends CI_Driver
|
|||||||
'host' => '127.0.0.1',
|
'host' => '127.0.0.1',
|
||||||
'password' => NULL,
|
'password' => NULL,
|
||||||
'port' => 6379,
|
'port' => 6379,
|
||||||
'timeout' => 0,
|
'timeout' => 0.0,
|
||||||
'database' => 0
|
'database' => 0
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -69,7 +70,6 @@ class CI_Cache_redis extends CI_Driver
|
|||||||
*/
|
*/
|
||||||
protected $_redis;
|
protected $_redis;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* del()/delete() method name depending on phpRedis version
|
* del()/delete() method name depending on phpRedis version
|
||||||
*
|
*
|
||||||
@@ -95,6 +95,7 @@ class CI_Cache_redis extends CI_Driver
|
|||||||
* if a Redis connection can't be established.
|
* if a Redis connection can't be established.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
|
* @throws RedisException
|
||||||
* @see Redis::connect()
|
* @see Redis::connect()
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
@@ -132,26 +133,21 @@ class CI_Cache_redis extends CI_Driver
|
|||||||
|
|
||||||
$this->_redis = new Redis();
|
$this->_redis = new Redis();
|
||||||
|
|
||||||
try
|
// The following calls used to be wrapped in a try ... catch
|
||||||
|
// and just log an error, but that only causes more errors later.
|
||||||
|
if ( ! $this->_redis->connect($config['host'], ($config['host'][0] === '/' ? 0 : $config['port']), $config['timeout']))
|
||||||
{
|
{
|
||||||
if ( ! $this->_redis->connect($config['host'], ($config['host'][0] === '/' ? 0 : $config['port']), $config['timeout']))
|
log_message('error', 'Cache: Redis connection failed. Check your configuration.');
|
||||||
{
|
|
||||||
log_message('error', 'Cache: Redis connection failed. Check your configuration.');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($config['password']) && ! $this->_redis->auth($config['password']))
|
|
||||||
{
|
|
||||||
log_message('error', 'Cache: Redis authentication failed.');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($config['database']) && $config['database'] > 0 && ! $this->_redis->select($config['database']))
|
|
||||||
{
|
|
||||||
log_message('error', 'Cache: Redis select database failed.');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (RedisException $e)
|
|
||||||
|
if (isset($config['password']) && ! $this->_redis->auth($config['password']))
|
||||||
{
|
{
|
||||||
log_message('error', 'Cache: Redis connection refused ('.$e->getMessage().')');
|
log_message('error', 'Cache: Redis authentication failed.');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($config['database']) && $config['database'] > 0 && ! $this->_redis->select($config['database']))
|
||||||
|
{
|
||||||
|
log_message('error', 'Cache: Redis select database failed.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -167,7 +163,7 @@ class CI_Cache_redis extends CI_Driver
|
|||||||
{
|
{
|
||||||
$data = $this->_redis->hMGet($key, array('__ci_type', '__ci_value'));
|
$data = $this->_redis->hMGet($key, array('__ci_type', '__ci_value'));
|
||||||
|
|
||||||
if ($data['__ci_value'] !== FALSE && $this->_redis->sIsMember('_ci_redis_serialized', $key))
|
if ($data === FALSE || $this->_redis->sIsMember('_ci_redis_serialized', $key))
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@@ -227,6 +223,7 @@ class CI_Cache_redis extends CI_Driver
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
$this->_redis->expireAt($id, time() + $ttl);
|
||||||
$this->_redis->{static::$_sRemove_name}('_ci_redis_serialized', $id);
|
$this->_redis->{static::$_sRemove_name}('_ci_redis_serialized', $id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
*
|
*
|
||||||
* This content is released under the MIT License (MIT)
|
* This content is released under the MIT License (MIT)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2014 - 2019, British Columbia Institute of Technology
|
* Copyright (c) 2019 - 2022, CodeIgniter Foundation
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
* @author EllisLab Dev Team
|
* @author EllisLab Dev Team
|
||||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
|
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
|
||||||
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
|
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
|
||||||
|
* @copyright Copyright (c) 2019 - 2022, CodeIgniter Foundation (https://codeigniter.com/)
|
||||||
* @license https://opensource.org/licenses/MIT MIT License
|
* @license https://opensource.org/licenses/MIT MIT License
|
||||||
* @link https://codeigniter.com
|
* @link https://codeigniter.com
|
||||||
* @since Version 3.0.0
|
* @since Version 3.0.0
|
||||||
@@ -41,7 +42,7 @@ defined('BASEPATH') OR exit('No direct script access allowed');
|
|||||||
* CodeIgniter Wincache Caching Class
|
* CodeIgniter Wincache Caching Class
|
||||||
*
|
*
|
||||||
* Read more about Wincache functions here:
|
* Read more about Wincache functions here:
|
||||||
* https://secure.php.net/manual/en/ref.wincache.php
|
* https://www.php.net/manual/en/ref.wincache.php
|
||||||
*
|
*
|
||||||
* @package CodeIgniter
|
* @package CodeIgniter
|
||||||
* @subpackage Libraries
|
* @subpackage Libraries
|
||||||
|
|||||||
Reference in New Issue
Block a user