я прав

книга злого кровавого демона

CakePHP – MongoDB session storage

оставьте комментарий »

Для того, чтобы сохранять сессии в MongoDB нам понадобятся:

1. сам MongoDB

2. php-драйвер монго

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');
?>

 

все получилось:

 

Написано evilbloodydemon

2011/04/01 в 10:29

Опубликовано в cakephp

Добавить комментарий

Fill in your details below or click an icon to log in:

Логотип WordPress.com

You are commenting using your WordPress.com account. Log Out / Изменить )

Фотография Twitter

You are commenting using your Twitter account. Log Out / Изменить )

Фотография Facebook

You are commenting using your Facebook account. Log Out / Изменить )

Connecting to %s

Follow

Get every new post delivered to your Inbox.