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::ObjectDriver::Driver::Cache::Memcached - object driver for caching objects with memcached

Description

Data::ObjectDriver::Driver::Cache::Memcached provides automatic caching of retrieved objects in your
       memcached servers, when used in conjunction with your actual object driver.

Diagnostics

       The  memcached  driver provides integration with the "Data::ObjectDriver" debug and profiling systems. As
       these systems are designed around SQL queries,  synthetic  queries  are  logged  to  represent  memcached
       operations. The operations generated by this driver are:

       •   "MEMCACHED_ADD ?"

           Put  an  item in the cache that was not there. The arguments are the cache key for the object and the
           flattened representation of the object to cache.

       •   "MEMCACHED_SET ?"

           Put an item in the cache with new member data. The arguments are the cache key for the object and the
           flattened representation of the object to cache.

       •   "MEMCACHED_DELETE ?"

           Remove an object from the cache. The argument is the cache key for the object to invalidate.

       •   "MEMCACHED_GET ?"

           Retrieve an object. The argument is the cache key for the requested object.

       •   "MEMCACHED_GET_MULTI ?"

           Retrieve a set of objects. The arguments are the cache keys for the requested objects.

License

Data::ObjectDriver is free software; you may redistribute it and/or modify it under  the  same  terms  as
       Perl itself.

Name

       Data::ObjectDriver::Driver::Cache::Memcached - object driver for caching objects with memcached

See Also

       "Cache::Memcached", http://www.danga.com/memcached/

Synopsis

           package MyObject;
           use base qw( Data::ObjectDriver::BaseObject );

           __PACKAGE__->install_properties({
               ...
               driver => Data::ObjectDriver::Driver::Cache::Memcached->new(
                   cache    => Cache::Memcached->new({ servers => \@MEMCACHED_SERVERS }),
                   fallback => Data::ObjectDriver::Driver::DBI->new( @$DBI_INFO ),
               ),
               ...
           });

           1;

Usage

       •   Data::ObjectDriver::Driver::Cache::Memcached->new( %params )

           Required members of %params are:

           •   "cache"

               The   "Cache::Memcached"   instance   representing   your   pool   of   memcached  servers.   See
               Cache::Memcached.

           •   "fallback"

               The "Data::ObjectDriver" object driver from which to request objects that are not found  in  your
               memcached servers.

See Also