Commit Graph

34 Commits

Author SHA1 Message Date
Fabien Potencier
14a83ce064 merged branch pulzarraider/redis_session_storage (PR #3498)
Commits
-------

c4ee947 Native Redis Session Storage update
665f593 NativeRedisSessionStorage added

Discussion
----------

[HttpFoundation] Native Redis Session Storage

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -

---------------------------------------------------------------------------

by lstrojny at 2012-03-04T23:15:43Z

Does Symfony (or any of its dependencies) has Redis support in any form whatsoever? If not this might be a good point to decide which clients to support

---------------------------------------------------------------------------

by lsmith77 at 2012-03-04T23:36:11Z

well ideally we just get this cache interface stuff done .. for this use case it would be perfect.

---------------------------------------------------------------------------

by pulzarraider at 2012-03-05T00:35:59Z

There is RedisProfilerStorage available (based on phpredis). I prefer and write code for [phpredis](https://github.com/nicolasff/phpredis).

It's recommended by [official Redis homepage](http://redis.io/clients#PHP). [In this benchmark](http://dev.af83.com/2011/01/01/which-php-library-to-use-with-redis-the-benchmark.html
) is fastest and less memory consumpting.

But if somebody prefer predis (with phpiredis), rediska or something other widely used, there are no limitations to add support of it to Symfony.

My opinion is, that the C extension should be supported at first, because of good performance and native session storage support. Redis is quite young and the process of creating PHP clients is comparable to Memcache.
There were created pure PHP Memcache clients in the past (Google found for example [this](http://www.phpclasses.org/browse/file/20284.html) and [this](http://code.blitzaffe.com/pages/phpclasses/files/memcached_client_52-12)), but they are not being used now. Everyone, who is seriously thinking about performance, is using only the C Redis/Memcache(d)/... extensions.

---------------------------------------------------------------------------

by drak at 2012-03-05T07:40:06Z

+1 on this PR.  Needs a test written though.
I don't think there is any need to wait for #3493 imo.  I'll deal with it if this is merged before #3493.
Are there any PHP ini settings for this for this driver or is everything via the `session.save_path` directive? (A quick look at the C code seems to indicate there are no explicit ini directives).

---------------------------------------------------------------------------

by lstrojny at 2012-03-05T12:14:34Z

@pulzarraider I don’t necessarily disagree with the usage of phpredis, I just wanted to bring up the issues of various clients and people having different preferences about them.

---------------------------------------------------------------------------

by fabpot at 2012-03-05T14:46:22Z

@pulzarraider Can you add some unit tests before I merge?

---------------------------------------------------------------------------

by pulzarraider at 2012-03-11T20:19:57Z

@drak No there are no php.ini settings. Only RedisArray has some, but it's another feature.

@fabpot I've added simple test based on other session storage tests.

I planned to create a RedisSessionStorage, too, but I have no time for it now. This can be added later in another PR as it's independent from NativeRedisSessionStorage.

---------------------------------------------------------------------------

by drak at 2012-03-12T02:21:25Z

The code looks OK to me.

---------------------------------------------------------------------------

by fabpot at 2012-03-15T06:05:27Z

#3493 has been merged now.

---------------------------------------------------------------------------

by pulzarraider at 2012-03-16T23:21:27Z

Code updated.
2012-03-23 13:42:58 +01:00
Andrej Hudec
f351cdc52c doc fix 2012-03-17 00:59:57 +01:00
Andrej Hudec
c4ee947a83 Native Redis Session Storage update 2012-03-17 00:17:36 +01:00
Andrej Hudec
665f59348b NativeRedisSessionStorage added
- fix and simple unit test added
2012-03-17 00:17:33 +01:00
Fabien Potencier
0ba5096fe6 fixed CS 2012-03-15 17:42:47 +01:00
Drak
9a5fc659d7 [HttpFoundation] Add more tests. 2012-03-14 21:28:16 +05:45
Drak
7f33b33aa6 Refactor SessionStorage to NativeSessionStorage.
Native here refers to the fact the session storage interacts with real PHP sessions.
2012-03-14 20:59:57 +05:45
Drak
b12ece0ff7 [HttpFoundation][FrameworkBundle] Separate out mock session storage and stop polluting global namespace.
This makes mock sessions truly mock and not to interfere with global namespace.
Add getters and setters for session name and ID.
2012-03-14 20:32:06 +05:45
Drak
7b36d0cc2b [DoctrineBridge][HttpFoundation] Refactored tests. 2012-03-14 20:30:06 +05:45
Drak
cb873b250b [HttpFoundation] Add tests and some CS/docblocks. 2012-03-14 20:29:58 +05:45
Drak
130831248d [HttpFoundation] Add and relocate tests. 2012-03-14 20:16:03 +05:45
Drak
88b1170356 [HttpFoundation] Refactor tests. 2012-03-14 20:15:59 +05:45
Drak
9b3b936bb6 [HttpFoundation] Refactor tests for master branch. 2012-03-09 00:27:56 +05:45
Miha Vrhovnik
e0fba80057 Properly merge session cookie_* parameters
Prefixed following session options: 'lifetime', 'path', 'domain', 'secure',
 'httponly' because this results in better session driver code
2012-02-29 06:35:26 +01:00
Fabien Potencier
611b241f56 fixed CS 2012-02-22 19:03:34 +01:00
Drak
e585ca783d [HttpFoundation] Added forward compatibility for \SessionHandlerInterface 2012-02-22 07:07:07 +05:45
Fabien Potencier
74ebd057a1 merged branch tna/session-cache-limiter (PR #3400)
Commits
-------

fb2bb65 [HttpFoundation] Fix session.cache_limiter is not set correctly

Discussion
----------

[HttpFoundation] Fix session.cache_limiter is not set correctly

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -

Fixes a regression after the session refactoring where extra cache control http headers are sent.

This was previously handled by [calling session_cache_limiter(false) in NativeSessionStorage](https://github.com/symfony/symfony/blob/2.0/src/Symfony/Component/HttpFoundation/SessionStorage/NativeSessionStorage.php#L81)

---------------------------------------------------------------------------

by drak at 2012-02-21T12:23:48Z

@fabpot - this code can be merged imo.
2012-02-21 14:47:46 +01:00
Tobias Naumann
fb2bb65b1e [HttpFoundation] Fix session.cache_limiter is not set correctly 2012-02-19 21:07:38 +01:00
Marcel Beerta
6fbd2902be Improved unit tests for MemcacheSessionStorage 2012-02-19 19:54:54 +01:00
Drak
d077edebb4 [HttpFoundation] Increase test coverage. 2012-02-14 21:41:27 +05:45
Drak
cbb3e69b36 [HttpFoundation] Increase test coverage. 2012-02-14 21:10:15 +05:45
Drak
388a9c2861 [HttpFoundation] Make SessionHandlerInterface compatible with PHP 5.4's SessionHandlerInterface 2012-02-13 11:35:29 +05:45
Drak
cab1060a76 [HttpFoundation] Add tests for session memcache/d storage drivers. 2012-02-12 20:08:50 +05:45
Fabien Potencier
fc7d0110f7 [HttpFoundation] removed Serializable from SessionInterface
If you need to serialize the session, you need to get the bags and
serialize them instead.
2012-02-12 14:51:23 +01:00
Fabien Potencier
1da8deee4e merged branch drak/session_memcache_tests (PR #3335)
Commits
-------

fe870be [HttpFoundation] Added tests for memcache/d storage drivers.

Discussion
----------

[WIP][2.1][HttpFoundation] Add tests for session memcache/d storage drivers.

__[WIP] pending merge of PR 3333, no review please.__

Bug fix: no
Feature addition: no
Backwards compatibility break: no
__Symfony2 tests pass: no__
Fixes the following tickets: -
Todo: -
2012-02-12 13:08:22 +01:00
Drak
fe870beae3 [HttpFoundation] Added tests for memcache/d storage drivers. 2012-02-12 16:06:54 +05:45
Drak
805dd76fcd [HttpFoundation] Added tests for Session class. 2012-02-12 10:23:04 +05:45
Fabien Potencier
74ccf7062a reverted 5b7ef11650 (Simplify session
storage class names now we have a separate namespace for sessions)
2012-02-11 12:04:50 +01:00
Fabien Potencier
04942502a5 removed unused use statements 2012-02-11 11:53:03 +01:00
Fabien Potencier
7878a0a11a [HttpFoundation] renamed pop() to all() and getAll() to all() 2012-02-11 11:53:00 +01:00
Drak
0d2745f750 [HttpFoundation] Remove constants from FlashBagInterface
As requested by fabpot.
Corrected a few mistakes in the documentation.
2012-02-11 11:24:43 +05:45
Drak
dad60efccc [HttpFoundation] Add back get defaults and small clean-up.
Changed read-only method names from get*() to peek*()

Typo
2012-02-11 11:24:39 +05:45
Drak
5b7ef11650 [HttpFoundation] Simplify session storage class names now we have a separate namespace for sessions. 2012-02-11 11:24:35 +05:45
Drak
27530cbb1e [HttpFoundation] Moved session related classes to own sub-namespace. 2012-02-11 11:24:31 +05:45