memcache(3) 1.2.0 released...

Antony Dovgal tony2001 at
Wed Jan 12 10:46:43 PST 2005

On Wed, 12 Jan 2005 10:35:54 -0800
John McCaskey <johnm at> wrote:

> The one major complaint I have with the current php oo api's (and
> possibly the Ruby api) are that they simply return FALSE (nil for
> Ruby?) for an unfound key, thus breaking the ability to store
> arbitrary binary data as I now cannot store a FALSE, or a binary
> equivalent in memcache.

Just don't store anything and you'll get the same result - FALSE.

Or store FALSE and get empty string as get() value (it seems quite 
logical to me that "" == FALSE just because they _are_ equal).

I don't see any problems here, but I appreciate any help/suggestions/improvements.

> Perhaps, I'll always return as an array('key'=>'value', ...,
> 'keyn'=>'valuen') and the way to determine a miss is simply that the
> key does not exist at all, and then NULL or FALSE are valid data from
> the cache.  

You've missed something =)

$m = memcache_connect("localhost"); 
$m->set("var", FALSE); 
$m->get(Array("var", "nonexistent_key"));
array(1) {
  string(0) ""

But thanks, I just realized that I forgot to add this syntax to the docs.

> If I did this as a php5 module, maybe I'd just throw an exception...
> but alas I need to use php4.

Throwing an exception when there is no such key seems a bit scary to me.
I used to think that exceptions are throwed in case of some errors, but
missing key doesn't look as error to me.

Antony Dovgal aka tony2001

More information about the memcached mailing list