CakePHP – MongoDB session storage
Для того, чтобы сохранять сессии в MongoDB нам понадобятся:
1. сам MongoDB
3. источник данных для CakePHP MongoDB Datasource
скачиваем плагин и кладем его в my/app/plugins/mongodb или забираем гитом
cd my/app/plugins
git clone git://github.com/ichikaway/cakephp-mongodb.git mongodb
дальше в database.php описываем новое подключение
<?php public $mongo = array( 'driver' => 'mongodb.mongodbSource', 'database' => 'sessions', 'host' => 'localhost', 'port' => 27017, ); ?>
создаем модель Session, в ней описываем схему данных (хотя монго и schemaless, но кэйк сохраняет только те поля, которые описаны в схеме)
<?php class Session extends AppModel { public $mongoSchema = array( 'id' => array('type' => 'string'), 'data' => array('type' => 'string'), 'expires' => array('type' => 'integer'), ); } ?>
в core.php задаем новые параметры хранения сессий
<?php Configure::write('Session.save', 'database'); Configure::write('Session.model', 'Session'); Configure::write('Session.database', 'mongo'); ?>
все получилось:

