php – CodeIgniter,使用Redis作为会话管理器


github开始,配置声称我需要设置

$config['sess_use_database'] = TRUE;

这是将会话数据存储在redis中所必需的.

但是,从CodeIgniter’s guide起如果$config [‘sess_use_database’] = TRUE;会话类将会话数据存储在DB中.

我想了解,即使我们将’sess_use_database’配置为true,也会绕过数据库写入.

其次,该方法需要安装phpredis扩展.

我已经从以下github repository安装了另一个CI redis库.

有人可以帮我配置ericterpstra的代码,[文件名:ci_sock / part_two / MY_Session.php]这样它可以使用上面的库而不是phpredis吗?

最佳答案 如果我没弄错的话,
phpredis是PHP的C扩展,其中
CI redis库是redis客户端的纯PHP实现.您可能已将phpredis安装为扩展并仍然使用您的CI redis库(尽管您可能希望转储它,因为它不再维护).

如果您安装了phpredis,只需在php.ini文件中切换默认会话处理程序即可绕过整个CodeIgnitor会话配置问题以使用redis.

以下是https://github.com/phpredis/phpredis#php-session-handler的示例:

session.save_handler = redis
session.save_path = "tcp://host1:6379?weight=1, tcp://host2:6379?weight=2&timeout=2.5, tcp://host3:6379?weight=2"

这将透明地使用您的redis存储来存储会话.

点赞