|
NAMEData::Model::Driver::Memcached - storage driver for memcached protocolSYNOPSISpackage MyDB; use base 'Data::Model'; use Data::Model::Schema; use Data::Model::Driver::Memcached; my $dbi_connect_options = {}; my $driver = Data::Model::Driver::Memcached->new( memcached => Cache::Memcached::Fast->new({ servers => [ { address => "localhost:11211" }, ], }), ); base_driver $driver; install_model model_name => schema { .... }; DESCRIPTIONStorage is used via a memcached protocol.It can save at memcached, Tokyo Tyrant, kai, groonga, etc. OPTIONSserializermy $driver = Data::Model::Driver::Memcached->new( memcached => Cache::Memcached::Fast->new({ servers => [ { address => "localhost:11211" }, ], }), serializer => 'Default', # default is L<Data::MessagePack> or messagepack minimum set for Data::Model ); you can use customizable serializer. { package MySerializer; sub serialize { my($class, $c, $hash) = @_; # you serialize of $hash return $serialize_string; } sub deserialize { my($class, $c, $serialize_string) = @_; ... return $hash; } } my $driver = Data::Model::Driver::Memcached->new( memcached => Cache::Memcached::Fast->new({ servers => [ { address => "localhost:11211" }, ], }), serializer => '+MySerializer', ); strip_keysstrip tables key data, Because key data stored in a memcached key part.my $driver = Data::Model::Driver::Memcached->new( memcached => Cache::Memcached::Fast->new({ servers => [ { address => "localhost:11211" }, ], }), strip_keys => 1, ); ignore_undef_valueWhen value is undef, a value is not put into storage.It becomes size saving at the time of obvious empty data. my $driver = Data::Model::Driver::Memcached->new( memcached => Cache::Memcached::Fast->new({ servers => [ { address => "localhost:11211" }, ], }), ignore_undef_value => 1, ); model_name_realname column_name_renamecompress your table name and column name.OPTIONS EXAMPLEmy $driver = Data::Model::Driver::Memcached->new( memcached => Cache::Memcached::Fast->new({ servers => [ { address => "localhost:11211" }, ], namespace => 'test', }), serializer => 'Default', strip_keys => 1, ); install_model simple => schema { schema_options model_name_realname => 's'; key 'id'; column 'id'; column 'name'; column 'nickname'; schema_options column_name_rename => { id => 1, name => 2, nickname => 3, }; }; $model->set( simple => 'keyvalue' => { name => 'osawa', nickname => 'yappo', } ); # same code $memcached->add( 'tests:keyvalue', Data::MessagePack->pack({ 2 => 'osawa', 3 => 'yappo' }), ); SEE ALSOCache::Memcache::Fast, Data::ModelAUTHORKazuhiro Osawa <yappo <at> shibuya <doet> pl>LICENSEThis library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.POD ERRORSHey! The above document had some coding errors, which are explained below:
Visit the GSP FreeBSD Man Page Interface. |