You are here: Re: [PHP] Cache « PHP « IT news, forums, messages
Re: [PHP] Cache

Posted by Rory Browne on 05/17/05 04:34

Interesting idea. Using three identifiers, as a key.
md5() returns a 32 hex-digit value. That means that there are can only
be a maximum of 3.4 * 10^38 possible outcomes for the md5(). This
means that there there is a 1 in
340000000000000000000000000000000000000 chance of a collision between
filenames.

You could reduce those odds by a factor of three, by md5()ing each id
seperately, and concat'ing the resultant md5files. Alternatively
depending on your filesystem and the length of identifiers, you could
simply concat, and urlencode the identifier. You could have a heck of
a long filename though.

I'd suggest taking a look at at the DB abstraction functions. They
were designed for what you're doing.

On 5/16/05, Evert | Rooftop <evert@rooftopsolutions.nl> wrote:
> Hi,
>
> I'm developing a cache system. Which works in pseude code, like this:
>
> class Cache {
>
> function Fetchdata($id1,$id2,$id3) {
>
> $id = md5($id1 . $id2 . $id3);
> if ($this->DataIsExpired($id)) return false;
> else return unserialize(file_get_contents($id));
>
> }
>
> function storeData($data,$id1,$id2,$id3) {
>
> $id = md5($id1 . $id2 . $id3);
> OpenTheFileAndWriteTheDataSerialized($data);
> }
>
> }
>
> $id1 $id2 and $id3 are when they are combined unique
>
> * Is there a chance of collision when MD5 is used on the id's and the
> ids are long strings
> * Is file_get_contents the fastest way to open the file?
> * Is serialize the fastest way to serialize ;) ?
> * Are there any other things I should consider? (I'm aware of
> file-locking issues, and have taken care of that)
>
> regards,
> Evert
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация