Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Dubbio sull'utilizzo delle variabili di sessione mooolto lunghe

    Ciao a tutti

    Vi spiego il mio dubbio: ho una lunga parte di codice html che viene ripetuta in ogni pagina del sito. Richiede diverse query & funzioni, per velocizzare la visualizzazione delle pagine ho quindi deciso di mandarla in una variabile $_SESSION che viene ri-generata solo una volta ogni 10 minuti.

    Il mio dubbio è: con tante sessioni aperte, e quindi con tante variabili di sessione molto "pesanti" (saranno circa una trentina di linee di codice html), rischio di rallentare il server?
    Sarebbe meglio evitare di passare variabili molto lunghe tramite le sessioni?

    Grazie a tutti in anticipo!

  2. #2
    Ma invece di metterla in una sessione...perchè non crei un file esterno e lo richiami in tutte le pagine...

    Ma poi...come si farebbe a mettere codice html, query e funzioni, dentro una variabile DI SESSIONE??!??!??!

  3. #3
    Originariamente inviato da Samleo
    Ma invece di metterla in una sessione...perchè non crei un file esterno e lo richiami in tutte le pagine...

    Ma poi...come si farebbe a mettere codice html, query e funzioni, dentro una variabile DI SESSIONE??!??!??!
    Credo di non essermi spiegato
    Diciamo che il footer del mio sito è così:
    <div>Menu con tutte le categorie</div>
    <div>Ultimi 10 aggiornamenti</div>
    <div>Tag del giorno</div>
    <div>Altra roba</div>
    Per ogni div devo prendere dei dati dal database.

    Ecco il mio codice per ricaricare il footer ogni 10 minuti:
    Codice PHP:
    if((!$_SESSION['set'])||(!$_SESSION['time'])||((strtotime('+10 min',$_SESSION['time'])<time()))){
    // verifico che la sessione non sia già configurata o che sia più vecchia di 10 minuti

    $sql_menu=    mysql_query('SELECT * FROM `menu`;');
    $_SESSION['footer']='<div id="menu">';
    while(
    $menu=mysql_fetch_array($sql_menu)){
    $_SESSION['footer'].='[url="'.$menu['url'].'"]'.$menu['voce'].'[/url]';
    }
    $_SESSION['footer'].='</div>';
    // ...e così per tutte le parti che mi servono. Poi:

    $_SESSION['set']=TRUE;
    $_SESSION['time']=time();

    Alla fine poi richiamo $_SESSION['footer'] et voilà il footer.

  4. #4
    Non per criticare, ma da quello che ne so...stai usando molto ma molto male le sessioni

    Ripeto..fai un .php da includere in tutte le pagine, magari richiamato da ajax ogni 10 min!


  5. #5
    La cosa che vuoi farci è un po'strana, tuttavia ti confermo di aver usato le session per memorizzare centinaia di stringhe per utente senza aver riscontrato rallentamenti percepibili.

    Le session sono di fatto un file esterno richiamabile in ogni pagina, ma vengono gestite direttamente da php con tempi e praticità migliori.

    Nè ci sono controindicazioni a memorizzarvi, come stringa, qualsiasi tipo di file: html, javascript, csv, sql, etc.
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  6. #6
    Originariamente inviato da Samleo
    Non per criticare, ma da quello che ne so...stai usando molto ma molto male le sessioni

    Ripeto..fai un .php da includere in tutte le pagine, magari richiamato da ajax ogni 10 min!

    Originariamente inviato da softhare
    La cosa che vuoi farci è un po'strana, tuttavia ti confermo di aver usato le session per memorizzare centinaia di stringhe per utente senza aver riscontrato rallentamenti percepibili.

    Le session sono di fatto un file esterno richiamabile in ogni pagina, ma vengono gestite direttamente da php con tempi e praticità migliori.

    Nè ci sono controindicazioni a memorizzarvi, come stringa, qualsiasi tipo di file: html, javascript, csv, sql, etc.
    @softhare grazie mille era proprio quello che speravo :-)

    @Samleo lo so che spiegato così sembra strano ed inutile, ma tieni presente che ho fatto un esempio per spiegare la situazione... non faccio davvero generare il footer così!

  7. #7
    Mi sembra la peggior implementazione di una cache che si possa pensare con PHP

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.