Login  |  Packages  |  Support  |  Bugs
Top Level :: Caching :: APCu :: 5.1.25

APCu 5.1.25

Package Information
Summary APCu - APC User Cache
Maintainers Joe Watkins (lead) [details]
Anatol Belski < ab at php dot net > (developer) [details]
Remi Collet (lead) [details]
Nikita Popov (lead) [details]
License PHP License
Description APC User Caching
Release notes
Version 5.1.25
(stable)
- If the cache is full, try to clean up expired entries based on their per-entry hard TTL even
if the soft apc.ttl is 0. Previously the entire cache was discarded.
- If a new entry cannot be inserted due to fragmentation, the cache will be defragmented,
combining many small free blocks into one big free block by moving around cache entries.
This avoids the need to discard the entire cache in more cases.
- The access time (which is used by the soft apc.ttl) is now also updated when using
apcu_exists().
- apc.entries_hint now defaults to 512 entries per 1MB of shared memory. Previously the
default was 4096, independent of shm_size. This could lead to a large number of hash
collisions if shm_size was increased without also increasing entries_hint.
- Added apc.mmap_hugepage_size to use huge pages of a certain size for the apcu shared memory
segment. This requires support for huge pages to be enabled in the kernel. Note that even if
this option is not set, shared memory is still configured to use transparent huge pages.
- The apc.shm_segments ini option has been removed. Multiple SHM segments are no longer
supported. (They were already not supported when using mmap, which is the default mode of
operation)
- The apc.smart configuration setting should now work more reliably. Values > 1 can be used
to increase the chance of discarding the entire cache when the amount of memory freed by
removing expired entries was too small. This could be useful if performance degrades due to
executing the logic to remove expired entries (+ defragmentation) too frequently during
periods of high memory usage.
- The number of cache cleanups performed (removal of expired entries) is now available
in the array returned by apcu_cache_info() (via array key "cleanups").
- The number of defragmentations performed is now available in the array returned by
apcu_cache_info() (via array key "defragmentations").
- Fixed several issues that caused inserting new entries to fail unexpectedly.

Internal changes:
- Fixed -Wclobbered compiler warnings.
- All cache data structures are now relocatable, i.e. independent of the base address of the
cache. This enables defragmentation support.
- Hash slots now use doubly linked lists. This is necessary for defragmentation.

[ Latest Tarball ] [ Changelog ] [ View Statistics ]
[ Browse Source ] [ Package Bugs ] [ View Documentation ]

Dependencies for release 5.1.25
PHP Version: PHP 7.0.0-dev or newer
PEAR Package: PEAR 1.10 or newer


Packages that depend on APCu
apcu_bc
PRIVACY POLICY  |  CREDITS
Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Mon Jun 23 14:32:09 2025 UTC
Bandwidth and hardware provided by: pair Networks