LoginSignup
0
0

More than 1 year has passed since last update.

basercms4系のセッション管理にRedisを利用する

Last updated at Posted at 2021-05-24

baserCMS4.4.6のSession管理にRedisを利用しました。

  1. baserCMSについて
  2. Redisについて
  3. 設定方法
  4. 実装内容について

baserCMSについて

国産のOSSでウェブサイト管理ツールになります。
詳しくは公式へGO。

Redisについて

インメモリなKeyValue型データベースです。
Qiitaにも【入門】Redisて記事がありますのでGO。

設定方法

流れとしては下記です

  1. Redisサーバを準備
  2. Redis用のSessionHandlerを配置
  3. install.phpに追記

Redisサーバを準備

省きます

Redis用SessionHandlerを配置

githubに実装済みソースがありますので下記に配置してください zip
app/Model/Datasource/Session/RedisSession.php

install.phpに追記

app/Config/install.phpの最後に下記を追記します。

Cache::config('redis', [
    'engine'      => 'Redis',
    'server'      => '127.0.0.1',
    'port'    => 6379,
]);
Configure::write('Session.handler', ['engine' => 'RedisSession']);

serverやportはRedisへのアクセス情報に合わせて変更してください。

実装内容

実装内容として、CakePHP2が利用されたbaserCMSにはフレームワーク側でRedisをキャッシュエンジンとして利用できるライブラリが備わっています。
そのキャッシュエンジンを利用したCakeSessionHandlerInterfaceを実装しているだけです。

install.phpでは、キャッシュエンジンにredisという標準キャッシュとは別のキャッシュ設定を追加しています。
さらに、Session.handlerでCakeSessionHandlerInterfaceを実装したRedisSessionをセッションで利用する指定を行っています。

以上、誰かの助けになれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0