Writes or replaces cached values in APCu.
What Is apcu_store() in PHP?
Writes or replaces cached values in APCu.
Its syntax is:
apcu_store(string|array $key, mixed $value = null, int $ttl = 0): mixed
Parameters:
$key— Accepted as string|array; required argument.$value— Accepted as mixed; optional default null.$ttl— Accepted as int; optional default 0.
Return type: mixed. A time-to-live of 0 means no explicit expiration, but cache eviction and server restarts can still remove values.
Availability: Requires APCu enabled for the current PHP SAPI.
Example 1: Basic Usage
<?php
var_dump(apcu_store("site:title", "Know-Stuff", 60));
Result: Results and availability depend on the current PHP process, system permissions, cache, filesystem or installed locale. A time-to-live of 0 means no explicit expiration, but cache eviction and server restarts can still remove values.
Example 2: A Different Input
<?php
var_dump(apcu_store("site:enabled", true, 120));
Result: Results and availability depend on the current PHP process, system permissions, cache, filesystem or installed locale. A time-to-live of 0 means no explicit expiration, but cache eviction and server restarts can still remove values.
Practical Example: Applying It in a Program
<?php
$cacheKey = "catalog:summary";
$summary = ["items" => 12, "updated" => "today"];
if (apcu_store($cacheKey, $summary, 300)) { echo "Summary cached"; }
Result: Results and availability depend on the current PHP process, system permissions, cache, filesystem or installed locale. A time-to-live of 0 means no explicit expiration, but cache eviction and server restarts can still remove values.
Important Behavior and Edge Cases
- Key behavior: A time-to-live of 0 means no explicit expiration, but cache eviction and server restarts can still remove values.
- Environment: Requires APCu enabled for the current PHP SAPI.
Comparison With Related Functions
| Function | Purpose |
|---|---|
apcu_store() | writes or replaces cached values in APCu. |
apcu_add() | apcu_add() avoids overwriting an existing key; apcu_store() inserts or updates it. |
Common Beginner Mistakes
| Mistake | Correct Approach |
|---|---|
| Ignoring this behavior: A time-to-live of 0 means no explicit expiration, but cache eviction and server restarts can still remove values | A time-to-live of 0 means no explicit expiration, but cache eviction and server restarts can still remove values. |
Key Takeaways
- writes or replaces cached values in APCu.
- A time-to-live of 0 means no explicit expiration, but cache eviction and server restarts can still remove values.
- Requires APCu enabled for the current PHP SAPI.
Summary: A time-to-live of 0 means no explicit expiration, but cache eviction and server restarts can still remove values.