On Mon, 21 Dec 2020 12:15:45 +0000
James Smith <j...@sanger.ac.uk> 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' => 'franck-...@orange.fr',
          '_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'
        };

Reply via email to