logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Data::Session::Driver::BerkeleyDB - A persistent session manager

Author

       Data::Session was written by Ron Savage <ron@savage.net.au> in 2010.

       Home page: <http://savage.net.au/index.html>.

Case-Sensitive Options

       See "Case-sensitive Options" in Data::Session for important information.

Description

       Data::Session::Driver::BerkeleyDB allows Data::Session to manipulate sessions via BerkeleyDB.

       To use this module do both of these:

       o Specify a driver of type BerkeleyDB, as Data::Session -> new(type => 'driver:BerkeleyDB ...')
       o Specify a cache object of type BerkeleyDB as Data::Session -> new(cache => $object)
           Also, $object must have been created with a Env parameter of type BerkeleyDB::Env. See below.

       See scripts/berkeleydb.pl.

Installing Berkeleydb

               Get Oracle's BerkeleyDB from
               http://www.oracle.com/technetwork/database/berkeleydb/overview/index.html
               I used V 5.1.19
               tar xvzf db-5.1.19.tar.gz
               cd db-5.1.19/build_unix
               ../dist/configure
               make
               sudo make install
               It installs into /usr/local/BerkeleyDB.5.1

               Get Perl's BerkeleyDB from http://search.cpan.org
               I used V 0.43
               tar xvzf BerkeleyDB-0.43.tar.gz
               cd BerkeleyDB-0.43
               Edit 2 lines in config.in:
               INCLUDE = /usr/local/BerkeleyDB.5.1/include
               LIB     = /usr/local/BerkeleyDB.5.1/lib
               perl Makefile.PL
               make && make test
               sudo make install

Method: New()

       Creates a new object of type Data::Session::Driver::BerkeleyDB.

       "new()"  takes a hash of key/value pairs, some of which might mandatory. Further, some combinations might
       be mandatory.

       The keys are listed here in alphabetical order.

       They are lower-case because they are (also) method names, meaning they can be called to set  or  get  the
       value at any time.

       o cache => $object
           Specifies the object of type BerkeleyDB to use for session storage.

           This key is normally passed in as Data::Session -> new(cache => $object).

           Warning:  This cache object must have been set up both as an object of type BerkeleyDB, and with that
           object   having   an   Env   parameter   of   type   Berkeley::Env,    because    this    module    -
           Data::Session::Driver::BerkeleyDB - uses the BerkeleyDB method cds_lock().

           This key is mandatory.

       o verbose => $integer
           Print to STDERR more or less information.

           Typical values are 0, 1 and 2.

           This key is normally passed in as Data::Session -> new(verbose => $integer).

           This key is optional.

Method: Remove($Id)

       Deletes from storage the session identified by $id.

       Returns the result of calling the BerkeleyDB method delete($id).

       This result is a Boolean value indicating 1 => success or 0 => failure.

Method: Retrieve($Id)

       Retrieve from storage the session identified by $id.

       Returns the result of calling the BerkeleyDB method get($id).

       This  result  is  a  frozen  session.  This value must be thawed by calling the appropriate serialization
       driver's thaw() method.

       Data::Session calls the right thaw() automatically.

Method: Store($Id => $Data)

       Writes to storage the session identified by $id, together with its data $data.

       Returns the result of calling the BerkeleyDB method set($id => $data).

       This result is a Boolean value indicating 1 => success or 0 => failure.

Method: Traverse()

       Retrieves all ids via a cursor, and for each id calls the supplied subroutine with the  id  as  the  only
       parameter.

       The database is not locked during this process.

       Returns 1.

Name

       Data::Session::Driver::BerkeleyDB - A persistent session manager

Support

       Log a bug on RT: <https://rt.cpan.org/Public/Dist/Display.html?Name=Data-Session>.

Synopsis

       See Data::Session for details.

See Also