Skip to main content

memcache-based session storage

Project description

Session Data Using memcache

This package provides a session data manager which stores it’s data in memcache. The package uses lovely.memcached to store it’s data.

IMPORTANT:

This test expects a memcache server running on local port 11211 which is the default port for memcached.

This test runs in level 2 because it needs external resources to work. If you want to run this test you need to use –all as parameter to your test.

Start a memcache instance with : memcached <optional options>

>>> from zope import component
>>> from lovely.memcached.interfaces import IMemcachedClient
>>> from lovely.memcached.utility import MemcachedClient
>>> util = MemcachedClient()
>>> component.provideUtility(util, IMemcachedClient, name='session')
>>> util.invalidateAll()

Now we create a memcache session and connect it to the memcached client.

>>> from lovely.session.memcached import MemCachedSessionDataContainer
>>> sessionData = MemCachedSessionDataContainer()
>>> sessionData.cacheName = u'session'

We need to provide a name for the session data manager because it is used to identify the cache entry in memcache.

>>> sessionData.__name__ = 'MemCacheSession'
>>> session = sessionData['mySessionId']
>>> session
{}
>>> type(session)
<class 'lovely.session.memcached.MemCacheSessionData'>

We can now get data from the session.

>>> data = session['myData']
>>> data
{}
>>> type(data)
<class 'lovely.session.memcached.MemCachePkgData'>
>>> data['info'] = 'stored in memcache'
>>> data
{'info': 'stored in memcache'}

Because the MemCacheSession is transaction aware we need to commit the transaction to store data in the memcache.

>>> import transaction
>>> transaction.commit()

If we now read session data is is read back from the memcache.

>>> session = sessionData['mySessionId']
>>> session['myData']
{'info': 'stored in memcache'}
>>> sessionData.items()
[('mySessionId', <lovely.session.memcached.DataManager object at ...>)]

CHANGES

0.1.3 (2008-07-31)

  • Fixed setup.py to be on par with the latest layout.

  • Fixed deprecation warnings, since the session API was moved to zope.session.

0.1.2 (2007-08-13)

  • Move source to svn.zope.org.

0.1.1 (2007-08-13)

  • Fixed dependency on lovely.memcached.

Download

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lovely.session-0.1.3.tar.gz (6.8 kB view details)

Uploaded Source

File details

Details for the file lovely.session-0.1.3.tar.gz.

File metadata

File hashes

Hashes for lovely.session-0.1.3.tar.gz
Algorithm Hash digest
SHA256 de938413808c31a2781e4b7237e82c1a992a70e3ca205a37d1617020abd0f612
MD5 af58692d4ba595120b214cd8f15ed08e
BLAKE2b-256 ddfa682f261be407e592639d5623e5fb9e9ff895067bb2140a8d04994c65ca1a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page