CodeIgniter在Redis中存储PHP会话

CodeIgniter在Redis中存储PHP会话,php,codeigniter,redis,Php,Codeigniter,Redis,下面我将在Redis中而不是在文件系统中保存PHP会话(这样我就可以与node.js共享会话) 我了解如何工作,但我对如何使用CodeIgniter框架进行设置感到困惑?我是否应该扩展CI会话类并将会话设置保存处理程序放在其中?将会话存储在数据库中。 为了存储会话,必须首先为此创建一个数据库表。下面是会话类所需的基本原型(用于MySQL): CREATE TABLE IF NOT EXISTS `ci_sessions` ( session_id varchar(40) DEFAULT

下面我将在Redis中而不是在文件系统中保存PHP会话(这样我就可以与node.js共享会话)


我了解如何工作,但我对如何使用CodeIgniter框架进行设置感到困惑?我是否应该扩展CI会话类并将会话设置保存处理程序放在其中?

将会话存储在数据库中。 为了存储会话,必须首先为此创建一个数据库表。下面是会话类所需的基本原型(用于MySQL):

CREATE TABLE IF NOT EXISTS  `ci_sessions` (
    session_id varchar(40) DEFAULT '0' NOT NULL,
    ip_address varchar(45) DEFAULT '0' NOT NULL,
    user_agent varchar(120) NOT NULL,
    last_activity int(10) unsigned DEFAULT 0 NOT NULL,
    user_data text NOT NULL,
    PRIMARY KEY (session_id),
    KEY `last_activity_idx` (`last_activity`)
);
设置

config.php
文件中

一旦启用,会话类将在数据库中存储会话数据

确保在配置文件中也指定了表名:

$config['sess_table_name'] = 'ci_sessions';

Redis会话在Codeigniter版本3中受支持

打开并编辑

application/config/config.php

要启用Redis,请将会话驱动程序设置为“Redis”

redis服务器路径示例

redis://hostname:port 或tcp://hostname:port

为本地测试设置sess\u save\u path localhost的值

$config['sess_save_path'] = 'tcp://localhost:6379';
在本地主机上测试Redis


请参阅我在

CI上的回答,它有点奇怪,它不使用本机php会话,可能需要创建本机会话库并将其包含在控制器中
$config['sess_driver'] = 'redis';
$config['sess_save_path'] = 'tcp://localhost:6379';