Thanks for replies, threads::shared; looks simple to use. I've already done some testing but looks like threaded perl is slower. Does not understand what performance of the singleton pattern maybe I've need some debugs. Btw, looks like IPC pipes can do the same thing with very fast too. ________________________________ От: Freeradius-Users <freeradius-users-bounces+format_hub=outlook.com@lists.freeradius.org> от имени Jorge Pereira <jpereira@freeradius.org> Отправлено: 19 мая 2021 г. 4:44 Кому: FreeRadius users mailing list <freeradius-users@lists.freeradius.org> Тема: Re: Shared data between in perl module Or maybe use the _Singleton Pattern_ https://www.perl.com/article/52/2013/12/11/Implementing-the-singleton-patter... <https://www.perl.com/article/52/2013/12/11/Implementing-the-singleton-pattern-in-Perl/> -- Jorge Pereira jpereira@freeradius.org
On 18 May 2021, at 11:21, Alan DeKok <aland@deployingradius.com> wrote:
On May 18, 2021, at 7:52 AM, Юрий Иванов <format_hub@outlook.com> wrote:
I plan to implement accounting logic with the help of perl module.
Looks simple, but every time I should open new database connection which is not very effective in case of high load systems.
sub accounting { $redis = Redis->new(server => '127.0.0.1:6379', reconnect => 2); ...
Is there way to make some sort of "shared" variable in perl module?
This is part of Perl: https://perldoc.perl.org/threads::shared
P.S. Maybe there is even some way to create some buffer array variable inside perl module which persists between perl modules so I can drop redis?
Use the threads::shared package, and put the buffer array into a shared variable.
Alan DeKok.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html