Naveed Massjouni > POE-Component-MessageQueue > POE::Component::MessageQueue::Storage::BigMemory

Download:
POE-Component-MessageQueue-0.3001.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Source  

NAME ^

POE::Component::MessageQueue::Storage::BigMemory -- In-memory storage engine optimized for a large number of messages.

SYNOPSIS ^

  use POE;
  use POE::Component::MessageQueue;
  use POE::Component::MessageQueue::Storage::BigMemory;
  use strict;

  POE::Component::MessageQueue->new({
    storage => POE::Component::MessageQueue::Storage::BigMemory->new()
  });

  POE::Kernel->run();
  exit;

DESCRIPTION ^

An in-memory storage engine that is optimised for a large number of messages. Its an alternative to POE::Componenent::MessageQueue::Storage::Memory, which stores everything in a Perl ARARY, which can slow the MQ to a CRAWL when the number of messsages in this store gets big.

store() is a little bit slower per message in this module and it uses more memory per message. Everything else should be considerably more efficient, though, especially when the number of messages starts to climb. Many operations in Storage::Memory are O(n*n). Most operations in this module are O(1)!

I wouldn't suggest using this as your main storage engine because if messages aren't removed by consumers, it will continue to consume more memory until it explodes. Check-out POE::Component::MessageQueue::Storage::Complex which can use this module internally to keep messages in memory for a period of time before moving them into persistent storage.

CONSTRUCTOR PARAMETERS ^

None to speak of!

SUPPORTED STOMP HEADERS ^

persistent

Ignored. Nothing is persistent in this store.

expire-after

Ignored. All messages are kept until handled.

deliver-after

Fully Supported.

SEE ALSO ^

POE::Component::MessageQueue, POE::Component::MessageQueue::Storage

Other storage engines:

POE::Component::MessageQueue::Storage::Memory, POE::Component::MessageQueue::Storage::FileSystem, POE::Component::MessageQueue::Storage::DBI, POE::Component::MessageQueue::Storage::Generic, POE::Component::MessageQueue::Storage::Generic::DBI, POE::Component::MessageQueue::Storage::Throttled, POE::Component::MessageQueue::Storage::Complex, POE::Component::MessageQueue::Storage::Default

syntax highlighting: