Don't use session hashes

Vincent Veyron <[email protected]>
Newsgroups gmane.comp.apache.mod-perl
Message-ID <[email protected]>
On Mon, 21 Dec 2020 12:15:45 +0000
James Smith <[email protected]> wrote:

Hi James,

> 
> The first rule of session hashes is don't use session hashes, 

I thought this was a standard way of storing user information? I've copied an example at the bottom (this application calculates quotes for a sailmaker)

I'm not sure what else I could use?

>but the 2nd rule of session hashes is don't write them to disk - that is really inefficient. Look at using something like MySQL,

Actually, I serialize the data and store it into a Postgresql table. This is what I meant by writing to disk. I suppose some caching by Postgresql helps here?

> memcached, redis, ... to >store them instead - whatever you do - just avoid writing to disk!

I'll have a look, thanks


$VAR1 = {
          'dump' => 1,
          'base_currency' => 'EUR',
          'username' => '[email protected]',
          '_session_id' => 'Yd7Oif8hi7Xb91cyoGVK3nS7WkEEt4d0',
          'devis' => {
                       'type_bateau' => '630 Q',
                       'variante_for' => undef,
                       'margin_rate_localized' => '',
                       'option' => {
                                     'clew_block_cost_localized' => '   0,00',
                                     'lattes_forcees' => '2',
                                     'lattes_cost' => '44.4570000000000000000000',
                                     'ris' => '2',
                                     'boom_cover_cost' => '0',
                                     'clew_block_unit_price' => '0',
                                     'overhead_leech_line_cost' => '0',
                                     'bande_anti_uv_cost' => '0',
                                     'lattes_cost_localized' => '44,46',
                                     'bande_anti_uv_cost_localized' => '0',
                                     'clew_block' => 'Aucun',
                                     'chariot_unit_price' => '0',
                                     'cunningham' => 'False',
                                     'cunningham_cost_localized' => '0',
                                     'luff_foam_cost' => '0',
                                     'boom_cover_cost_localized' => '0',
                                     'luff_foam_cost_localized' => '0',
                                     'boom_cover' => 'False',
                                     'ris_cost_localized' => '240,00',
                                     'protection' => 'Aucune',
                                     'total_option_cost_localized' => '379,07',
                                     'two_ply_leech_cost' => '94.613675',
                                     'cunningham_cost' => '0',
                                     'clew_block_cost' => '0',
                                     'boitier_chute' => 'Standard',
                                     'ris_chute' => 'Poulie small',
                                     'batten_shape' => 'ORC VINYLESTER',
                                     'two_ply_leech_cost_localized' => '94,61',
                                     'bande_anti_uv' => 'Aucune',
                                     'batten_shape_unit_price' => '5.00',
                                     'boitier_guindant_unit_price' => '0.00',
                                     'total_option_cost' => '379.07',
                                     'ris_guindant' => 'Antal small',
                                     'luff_foam' => 'False',
                                     'bande_anti_uv_unit_price' => '0',
                                     'two_ply_leech' => 'True',
                                     'ris_cost' => '240.00',
                                     'lattes_flottantes' => '2',
                                     'ris_chute_unit_price' => '40.00',
                                     'chariot' => 'Aucun',
                                     'overhead_leech_line_cost_localized' => '0',
                                     'boitier_chute_unit_price' => '0',
                                     'overhead_leech_line' => 'True',
                                     'ris_guindant_unit_price' => '25.00',
                                     'enrouleur' => 'True',
                                     'boitier_guindant' => 'Velcro'
                                   },
                       'info_tissu' => {
                                         'description' => '6,68 - 6,2 OZ - 268 g/sqm',
                                         'prix_localized' => '32,71',
                                         'remise' => '0.1',
                                         'tissu_cost_localized' => '378,45',
                                         'oz' => '6.20',
                                         'oz_adjust' => 0,
                                         'nom_tissu' => 'Challenge Fastnet Offshore',
                                         'oz_localized' => '6,20',
                                         'prix' => '32.71',
                                         'tissu_cost' => '378.4547',
                                         'max_length' => '7.50',
                                         'oz_retenu_localized' => '7,00',
                                         'short_spiel' => 'Le dacron le plus durable pour ceux qui voyagent loin'
                                       },
                       'correction' => '0',
                       'notes' => '',
                       'cost' => {
                                   'hors_taxe' => '719,77',
                                   'transport_fee' => '102,27',
                                   'margin_amount' => '0,00',
                                   'tva' => '143,95',
                                   'global_cost' => '878,12',
                                   'ttc' => '863,72',
                                   'global_cost_converted' => '719,77',
                                   'toll_rate' => '94,08'
                                 },
                       'genre_voile' => 'Grand-voile',
                       'nom_finition' => 'Grand Large Fastnet',
                       'nom_voile' => 'Grand-voile',
                       'info_bateau' => {
                                          'longueur_bateau_localized' => '6,30',
                                          'e_main_foot_localized' => '2,90',
                                          'p_main_luff_localized' => '7,00',
                                          'certified_area_localized' => '11,07',
                                          'coefficient' => '0.57',
                                          'longueur_bateau' => '6.30',
                                          'computed_area_localized' => '11,57',
                                          'certified_area_verified' => 'f',
                                          'e_main_foot' => '2.90',
                                          'p_main_luff' => '7.00',
                                          'default_computed_area' => '11.57',
                                          'coefficient_localized' => '0,57',
                                          'computed_area' => '11.57',
                                          'form_option' => 'Standard',
                                          'default_computed_area_localized' => '11,57'
                                        },
                       'delivery_zone' => '1',
                       'forme_voile' => 'Voile plate',
                       'id_devis' => '95',
                       'id_prospect' => '290',
                       'nom_prospect' => "Sylvie Andr\x{e9}",
                       'exchange_rate_localized' => '1,22'
                     },
          'exchange_rate_localized' => '1,23'
        };
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.