php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #59343 apc_fetch() does not check for cache is invalidated
Submitted: 2010-08-07 17:28 UTC Modified: 2010-08-07 17:42 UTC
From: fruit dot dev at gmail dot com Assigned:
Status: Not a bug Package: APC (PECL)
PHP Version: 5.2.13 OS: Fedora 10
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem:
1 + 20 = ?
Subscribe to this entry?

 
 [2010-08-07 17:28 UTC] fruit dot dev at gmail dot com
Description:
------------
When I use "sleep", to wait until cache "fruit" to be invalidated, the cache still exists and contains the data.

Reproduce code:
---------------
<?php

  apc_clear_cache('user');

  apc_store('fruit', 'grape', 1);

  sleep(3);

  $has = null;
  var_dump(apc_fetch('fruit', $has));

  var_dump($has);

Expected result:
----------------
Script output should be:

NULL
false

Actual result:
--------------
Be running this script i got:

string 'grape' (length=5)
boolean true

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2010-08-07 17:42 UTC] rasmus@php.net
Generally you never do a store and a fetch from within the 
same request.  It makes very little sense to do so since you 
have the data you stored already.  In order to save a system 
call, apc_fetch() call uses the request time which is set at 
the start of the request to check the ttl of the entry.  If 
you really want to store and fetch from within the same 
request set:

apc.use_request_time = 0
 
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Sun Dec 05 15:03:33 2021 UTC