GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Data::Throttler::Memcached(3) User Contributed Perl Documentation Data::Throttler::Memcached(3)

Data::Throttler::Memcached - Memcached-Based Data::Throttler

  my $t = Data::Throttler::Memcached->new(
    max_items => 10,
    interval  => 60,
    cache     => {
      data  => '127.0.0.1:11211', # optional
    }
  );
  
  $t->try_push( 'foo' );
  $t->try_push( key => 'foo' );

Data::Throttler does a good job throttling data for you, but unfortunately it's not distributed -- that is, since the storage is in memory, if you have a system with multiple hosts, throttling will be done individually on each host.

To workaround this limitation, Data::Throttler::Memcached uses Cache::Memcached::Managed to store the actual data.

There's no locking mechanism when checking/incrementing counts. This means that each process could possibly overwrite another's value -- but since throttling is something that isn't "exact", I'm not considering this to be such a big issue.

We may in the future work around this problem by utilizing distributed locks like KeyedMutex. Patches welcome.

Creates a new instance of Data::Throttler::Memcached. Accepts the same arguments as Data::Throttler, plus the "cache" argument.

The cache argument must be a hashref, which contains the arguments passed to the cache backend. For example, if you wanted to change the data server, you can specify it like so:

  cache => {
    data => 'my.data.host:11211'
  }

Copyright (c) 2007 Daisuke Maki <daisuke@endeworks.jp>

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://www.perl.com/perl/misc/Artistic.html

2007-11-08 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.