memcache(3) 1.2.0 released...
Andrei Nigmatulin
anight at monamour.ru
Thu Jan 13 02:03:54 PST 2005
В Срд, 12.01.2005, в 22:15, John McCaskey пишет:
> On Wed, 2005-01-12 at 22:03 +0300, Antony Dovgal wrote:
> > On Wed, 12 Jan 2005 11:02:01 -0800
> > John McCaskey <johnm at klir.com> wrote:
> >
> > > If the get() command however returns a FALSE for either my stored
> > > FALSE value or for a miss, then I will always have to assume its a
> > > miss and hit the slow storage everytime I retrieve a FALSE. Am I
> > > missing something here? I can't see it if so.
> >
> > Yup, you're missing "===" operator.
> > empty string == false, but empty string !== false.
> >
> > http://www.php.net/manual/en/language.operators.comparison.php
> >
>
> Sure, but an empty string is not the same as a FALSE if I am storing
> both and considering them distinct. I know about ===. But I want to
> get exactly what I store back from memcached, if I store an '' or a
> FALSE then I should get exactly a '' or a FALSE in return and when I
> test with === it should match up.
As i understand, memcached only stores and retrives strings and does not
handle anything else, for example boolean. That's because internally,
memcached stores raw bytes and a length, but does not store a type of
data.
The only Right Way i see here is to store TRUE and FALSE as "1" and "0"
strings.
>
> With returning a single value and no error code indication this is
> simply not possible as whatever the sentinel that indicates a miss is
> can now not be stored and retrieved reliably. This is clearly a rare
> situation, but I think it's important to support.
--
Andrei Nigmatulin
GPG PUB KEY 6449830D
More information about the memcached
mailing list