2016-08-09 119 views
0

ich würde gerne wissen, ob es möglich ist, ein Perl aus verschiedenen Skripte/crones Daten zuzugreifen zwischengespeichert (mit RAM, nicht die DISK)
ich in der Lage war, gemeinsam genutzt werden Cache-Daten mit dem Perl-Modul 'CHI' mit dem Treiber FastMmap.
es funktioniert gut, aber es funktioniert zu viel Lesen/ auf der Festplatte zu schreiben, die sie langsam macht,
Ram-Cache-Treiber verwenden (wie Speicher oder RawMemory) ist schneller, aber der Cache nur für den aktuellen Prozess sichtbar ist und es sind Kinderprozesse!Perl: Zwischenspeichern von Daten im gemeinsam genutzten Speicher (RAM)

so ist es möglich, zwischengespeicherte Daten im Speicher 'RAM' für fremde Perl-Skripte zugänglich zu machen?!

für CHI und FastMmap auf Linux Installation

sudo cpan -i CHI 
sudo cpan -i -f Cache::FastMmap 

hier ist ein kleines exemple, führen
es zweimal und es wird funktionieren, wenn Sie andere Treiber verwenden!

#!/usr/bin/perl 
use CHI; 
my $cache = CHI->new(driver => 'FastMmap',namespace => 'myApp' ,root_dir => '/tmp/chifolder/chaches',cache_size => '5M'); 

if(!defined $cache->get('data')){ 
     print "#creating caches !\n"; 
     $cache->set('data' , "some shared data\n"); 
}else{ 
      print "#caches already exists \n"; 
} 
print $cache->get('data'); 

danke im voraus für ihre hilfe.

+1

Ja, es heißt eine "Datenbank". – Sobrique

+0

Ich benutze Cache, um meine DataBase-Überlastung zu reduzieren. – zakaria35

+0

Würden Sie '/ tmp/chifolder/chaches' auf eine RAM-Disk (tmpfs) stellen? – PerlDuck

Antwort

0

Dank für youre @PerlDog helfen,
ich denke, dass (RAM-Disk, tmpfs) ist das, was ich brauchte,
ich mehr Tests durchführen würde wissen, ob die Ausführungszeit besser ist und dafür zu sorgen, dass i verwende dies nicht in der falschen Weise, um Probleme mit dem Server zu vermeiden ...
Ich lasse Sie wissen, die Ergebnisse