Just wanted to warn others on this.

Using redis as the session store via `pyramid_redis_sessions` and 
`pyramid_beaker` (via beaker_extensions) are both incredibly flawed. 
 Moderate  amounts of traffic can cause issues by sending lots of 
unnecessary traffic to Redis.

What's wrong?

pyramid_beaker
* stores the timeout data in the session value, so the session is 
re-written on every request (regardless of modification)
* [possibly not an issue] implements each session as it's own beaker 
namespace (based on the session_id), using locking on the 'session' 
attribute of the namespace.  reversing the key + namespace, seems to only 
make things really confusing to manage, but there could be other 
implications.

pyramid_redis_session
* this stores the session timeout data in redis (great).  it emits a GET 
once but it sets a new TTL on every attribute access AND rewrites the 
session on every attribute write.  There are some other odd behaviors, but 
they're not as bad as these 2.  

I don't think the redis support for beaker is easily fixable or worth 
fixing.
I've got a PR submitted to pyramid_redis_session that fixes this behavior 
(it only sets a single TTL/write per request)

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to pylons-discuss+unsubscr...@googlegroups.com.
To post to this group, send email to pylons-discuss@googlegroups.com.
Visit this group at http://groups.google.com/group/pylons-discuss.
For more options, visit https://groups.google.com/d/optout.

Reply via email to