如何在 CodeIgniter 中实现 Redis?

mos*_*toh 5 php codeigniter redis

我得到了教程:

http://yaminnoor.com/redis-codeigniter/

https://codeigniter.com/user_guide/libraries/caching.html#redis

我像这样尝试:

配置 ( application\config\redis.php):

defined('BASEPATH') OR exit('No direct script access allowed');

$config['socket_type'] = 'tcp'; //`tcp` or `unix`
$config['socket'] = '/var/run/redis.sock'; // in case of `unix` socket type
$config['host'] = '127.0.0.1'; //change this to match your amazon redis cluster node endpoint
$config['password'] = NULL;
$config['port'] = 6379;
$config['timeout'] = 0;
Run Code Online (Sandbox Code Playgroud)

控制器:

<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Redis_tes extends CI_Controller {
    public function __construct() {
        parent::__construct();

        $this->load->driver('cache', array('adapter' => 'redis', 'backup' => 'file'));
    }

    public function index() {
        // die('tes');
        if($this->cache->redis->is_supported() || $this->cache->file->is_supported()) {
            $var1 = $this->cache->get('cache_var1');
        } else {
            $cache_var1 = $this->_model_data->get_var1();
            $this->cache->save('cache_var1', $cache_var1);
        }
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

我运行http://localhost/app_redis/redis_tes,它产生以下错误:

遇到错误

请求的驱动程序无效:CI_Cache_redis

有什么解决方案可以解决我的问题?

小智 3

看这里: https: //github.com/joelcox/codeigniter-redis 尝试使用这个库。

更新:该库已被弃用。作者建议迁移到 Predis。

  • 来自存储库自述文件:“该库已弃用。我们建议迁移到 Predis。” (2认同)