Apache...:Redis(3pm)

πŸŽ€ Apache::Session::Browseable::Redis πŸŽ€

okay so welcome to the Apache::Session::Browseable::Redis page, bestie! This is the Apache...:Redis(3pm) manual from User Contributed Perl Documentation, and it's literally here to add index and search methods to Apache::Session::Redis. slay. πŸ’…


πŸ’– NAME πŸ’–

Apache::Session::Browseable::Redis β€” Add index and search methods to Apache::Session::Redis


✨ SYNOPSIS ✨

here's the whole vibe in code, bestie β€” comments and all, no cap:

use Apache::Session::Browseable::Redis;

my $args = {
     server => '127.0.0.1:6379',

     # Select database (optional)
     #database => 0,

     # Use a persistent connection to the Redis server
     # (value is the connection cache key)
     # You'll probably also want to set
     # read_timeout, write_timeout, reconnect and every
     reuse => "myserver",

     # Choose your browseable fields
     Index          => 'uid mail',

     # Optional: set a Redis TTL on session keys (in seconds)
     # TTL => 86400,
};

# Use it like Apache::Session
my %session;
tie %session, 'Apache::Session::Browseable::Redis', $id, $args;
$session{uid} = 'me';
$session{mail} = 'me@me.com';
$session{unindexedField} = 'zz';
untie %session;

# Apache::Session::Browseable add some global class methods
#
# 1) search on a field (indexed or not)
my $hash = Apache::Session::Browseable::Redis->searchOn( $args, 'uid', 'me' );
foreach my $id (keys %$hash) {
  print $id . ":" . $hash->{$id}->{mail} . "\n";
}

# 2) Parse all sessions
# a. get all sessions
my $hash = Apache::Session::Browseable::Redis->get_key_from_all_sessions($args);

# b. get some fields from all sessions
my $hash = Apache::Session::Browseable::Redis->get_key_from_all_sessions($args, 'uid', 'mail')

# c. execute something with datas from each session :
#    Example : get uid and mail if mail domain is
my $hash = Apache::Session::Browseable::Redis->get_key_from_all_sessions(
            $args,
            sub {
               my ( $session, $id ) = @_;
               if ( $session->{mail} =~ /mydomain.com$/ ) {
                   return { $session->{uid}, $session->{mail} };
               }
            }
);
foreach my $id (keys %$hash) {
  print $id . ":" . $hash->{$id}->{uid} . "=>" . $hash->{$id}->{mail} . "\n";
}

🌸 DESCRIPTION 🌸

so Apache::Session::browseable is out here providing some class methods to manipulate all sessions, and it adds the capability to index some fields so research is faster. highkey useful, fr fr.

This module uses either Redis::Fast or Redis. 🫢


πŸ¦‹ SEE ALSO πŸ¦‹

  • Apache::Session

the legal besties are:

2009-2025 by Xavier Guimard
2013-2025 by ClΓ©ment Oudot
2019-2025 by Maxime Besson
2013-2025 by Worteks
2023-2025-2025 by Linagora

This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself, either Perl version 5.10.1 or, at
your option, any later version of Perl 5 you may have available.

πŸ’€ POD ERRORS πŸ’€

not the coding-error gossip 😭 the document says:

Hey! The above document had some coding errors, which are explained
below:

Around line 366:
    Non-ASCII character seen before =encoding in 'ClΓ©ment'. Assuming
    UTF-8

bye bestie β€” sending you a kiss from perl v5.40.1, dated 2026-05-14 🫢

πŸ“¦ where this page comes from