New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Redis Session Support #15390

Merged
merged 7 commits into from Jul 30, 2017

Conversation

Projects
6 participants
@jdolinski
Contributor

jdolinski commented Apr 18, 2017

Pull Request for Issue # .

Summary of Changes

Added support for Redis session handling.

Testing Instructions

Modify the configuration.php file and include the following lines:

  public $session_redis_server_host = 'redis-server-url';
  public $session_redis_server_port = '6379';

Expected result

Sessions are stored in Redis and slight performance improvement when used in conjunction with Redis Cache.

Actual result

Session management is done by Redis and will work in a clustered environment without using database session handler.

Documentation Changes Required

Modify configuration.php

  public $session_redis_server_host = 'redis-server-url';
  public $session_redis_server_port = '6379';
Jim Dolinski

@jdolinski jdolinski changed the title from Added Redis session handler support to Add Redis Session Support Apr 18, 2017

zero-24 and others added some commits Apr 18, 2017

Jim Dolinski
Merge remote-tracking branch 'origin/redis-session' into redis-session
# Conflicts:
#	libraries/joomla/session/storage/redis.php

@mbabker mbabker changed the base branch from staging to 3.8-dev Apr 27, 2017

@mbabker mbabker added PR-3.8-dev and removed PR-staging labels Apr 27, 2017

@mbabker mbabker added this to Testing/Review in [3.8] General Apr 27, 2017

@mbabker mbabker changed the base branch from 3.8-dev to staging Jul 29, 2017

@mbabker mbabker added PR-staging and removed PR-3.8-dev labels Jul 29, 2017

@mbabker

This comment has been minimized.

Show comment
Hide comment
@mbabker

mbabker Jul 29, 2017

Member

I have tested this item successfully on a05a4e5


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/15390.

Member

mbabker commented Jul 29, 2017

I have tested this item successfully on a05a4e5


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/15390.

@mbabker

This comment has been minimized.

Show comment
Hide comment
@mbabker

mbabker Jul 29, 2017

Member

If you're a Mac user running Homebrew for PHP, this is actually pretty easy to test.

brew install redis
brew install phpxx-redis (replace xx with the PHP version you're using)
brew services start redis

Then get into global config, change the session handler (default settings are fine), save, and validate that things work using Redis as a session backend.

I'm comfortable merging based on my test, but it'd be nice if someone else could also do so.

Member

mbabker commented Jul 29, 2017

If you're a Mac user running Homebrew for PHP, this is actually pretty easy to test.

brew install redis
brew install phpxx-redis (replace xx with the PHP version you're using)
brew services start redis

Then get into global config, change the session handler (default settings are fine), save, and validate that things work using Redis as a session backend.

I'm comfortable merging based on my test, but it'd be nice if someone else could also do so.

@alikon

This comment has been minimized.

Show comment
Hide comment
@alikon

alikon Jul 30, 2017

Contributor

I have tested this item successfully on a05a4e5


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/15390.

but we still need to manage situation like mod_status that directly access to the #__session table https://github.com/joomla/joomla-cms/blob/staging/administrator/modules/mod_status/mod_status.php#L33

Contributor

alikon commented Jul 30, 2017

I have tested this item successfully on a05a4e5


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/15390.

but we still need to manage situation like mod_status that directly access to the #__session table https://github.com/joomla/joomla-cms/blob/staging/administrator/modules/mod_status/mod_status.php#L33

@mbabker

This comment has been minimized.

Show comment
Hide comment
@mbabker

mbabker Jul 30, 2017

Member

but we still need to manage situation like mod_status that directly access to the #__session table

It's fine for now because of the app code that arbitrarily writes stuff to the session table even if the database session handler isn't in use.

Member

mbabker commented Jul 30, 2017

but we still need to manage situation like mod_status that directly access to the #__session table

It's fine for now because of the app code that arbitrarily writes stuff to the session table even if the database session handler isn't in use.

@wilsonge wilsonge merged commit f9e8dd7 into joomla:staging Jul 30, 2017

3 of 4 checks passed

continuous-integration/appveyor/pr Waiting for AppVeyor build to complete
Details
continuous-integration/drone/pr the build was successful
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
hound No violations found. Woof!

@wilsonge wilsonge modified the milestones: Joomla 4.0, Joomla 3.8.0 Jul 30, 2017

@mbabker mbabker moved this from Testing/Review to Completed in [3.8] General Jul 30, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment