What about something like this: (un-tested, just off the top
of my head)  It'll set a cookie the first time a user gets
to the page, and will then only re-load data every 75+ seconds
(from the time the user first loads data) -- and only updates
the cookie when data is re-loaded


if (date("U") > ($cookie_load+75)) {
        print "fetch from DB";
        SetCookie("cookie_load", date("U"));
}
else {
        print "Loaded ($cookie_load), now ". date("U") ." -- NOT
fetching\n";
}

if (!$cookie_load)
        SetCookie("cookie_load", date("U"));

---
Scott Hurring
Systems Programmer
EAC Corporation
[EMAIL PROTECTED]
Voice: 201-462-2149
Fax: 201-288-1515

> -----Original Message-----
> From: Chris Knipe [mailto:[EMAIL PROTECTED]]
> Sent: Monday, May 20, 2002 3:15 AM
> To: [EMAIL PROTECTED]
> Subject: [PHP] Expiring certain session data while keeping the session
> itself
> 
> 
> Hiya, me again :-)
> 
> Is it possible to expire certain session data, while still keeping the
> session itself in tact?
> 
> Example...
> 
> $_SESSION['AlwaysTrue'] = "True";
> $_SESSION['ExpireThis'] = "10:20:00";
> 
> At 10:19:50 the session is registered.  AlwaysTrue must 
> remain True for as
> long as the session itself is true (as specified in the 
> documentation - this
> would be until the browser is closed, or after a certain 
> amount of inactive
> time).
> 
> However, at 10:20:00 (10 seconds later), I want the 
> ExpireThis value of the
> session, to be destroyed, without having to de-register the 
> entire session
> (this would then also destroy the AlwaysTrue value...
> 
> Am I right in presuming this cannot be done, and I'll have to 
> come up with
> my own little function to do this with?  If so, how can I see 
> at what time a
> session variable was written, or would I need to register the 
> time that the
> session variable was set to the session as well?  For instance....
> 
> $_SESSION['AlwaysTrue'] = "True";
> $_SESSION['ExpireThis'] = "10:20:00";
> $_SESSION['ExpireThisTime'] = "10:19:50";
> 
> Then, just do a comparison, and if ExpireThisTime is past 
> 10:20:00, then
> just delete that one variable...
> 
> There's no easier / better way to do this ??
> 
> Basically, I'm needing something like this to bring down the number of
> possible database queries.  I have a application which will have new
> information in a database, every 75 seconds.  The queries are 
> performed on
> every single page that a user is logged in to on a site.  To 
> make sure that
> the same queries is not issued over and over on the database, 
> I want to
> implement some sort of caching where I will only need to do 
> another query
> after the database received new information (every 75 
> seconds).  It's all
> numbers (integers), so I was thinking.... It may well work if 
> I can save
> these values to session data, and then just "refresh" the 
> session data every
> 75 seconds....  The problem is, there's lots of other 
> information saved to
> the session as well, which I cannot afford to loose with a possible
> session_destroy()......
> 
> --
> me
> 
> 
> 
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to