POE::Component::MessageQueue::Storage::BigMemory -- In-memory storage engine optimized for a large number of messages.
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;
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.
None to speak of!
Ignored. Nothing is persistent in this store.
Ignored. All messages are kept until handled.
Fully Supported.
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
To install POE::Component::MessageQueue, copy and paste the appropriate command in to your terminal.
cpanm
cpanm POE::Component::MessageQueue
CPAN shell
perl -MCPAN -e shell install POE::Component::MessageQueue
For more information on module installation, please visit the detailed CPAN module installation guide.