You can run cache services for several Joomla sites on one physical server, but the safest design is one isolated Memcached instance per site—for example, a different TCP port or Unix socket for each installation. Do not point every site at one shared instance unless you have verified that the exact Joomla version and cache handler create a unique key namespace for each site. A shared pool can cause key collisions, let one site evict another site’s cache, and make a flush operation affect every site.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
Joomla’s Memcached settings live in each site’s configuration.php. You must also match the handler name to the PHP extension installed on that site’s PHP runtime: memcached uses the PHP Memcached class, while memcache uses the PHP Memcache class. The names are similar but are not interchangeable.
As an Amazon Associate I earn from qualifying purchases.
Free tools Windows power users keep installed
One-click scans. No signup required.
What “one Memcached server” should mean
“One server” can describe two different arrangements:
- One physical machine with isolated instances: each Joomla site has its own Memcached daemon, port, or Unix socket. This is the recommended default because the sites do not share cache keys or flush operations.
- One shared Memcached instance: every site connects to the same daemon and the same item namespace. This saves a little administration, but it is safe only if the Joomla version and handler demonstrably prefix or otherwise isolate keys per site.
Running multiple instances still uses one physical host and can be described as using one Memcached server in infrastructure terms. The important distinction is the cache namespace and administrative boundary, not the number of machines.
#1 Best Overall
- A-Tech RAM Memory compatible for select DDR4 Server and Workstation systems only; (*WILL NOT WORK with Desktop or Laptop Computers/PCs*)
- 32GB RAM Kit (2 x 16GB Modules); DDR4 DIMM 288 Pin; Speeds up to 2400MHz PC4-19200 (PC4-2400T)
- ECC Unbuffered UDIMM; 2Rx8 - Dual Rank x8; JEDEC DDR4 standard 1.2V
- Improves system performance, workload capacity, and reduces bottlenecks by increasing memory (RAM) resources
- Note: This memory is ECC Unbuffered and cannot be mixed with different ECC types such as ECC Registered, ECC Load Reduced, or Non-ECC Unbuffered; (Memory compatibility can vary among different system models and their installed components; please verify compatibility and follow memory channel guidelines to ensure maximum performance)
Why a shared instance can break multiple Joomla sites
Memcached stores items under short string keys. If two applications generate the same key, the later write replaces the earlier value. In a Joomla deployment, that can produce stale, incorrect, or apparently random page and data-cache results: one site’s request may read an item created by another site, or a cache clear for one site may remove entries needed by all the others.
Analogous documentation for other PHP content-management systems treats a unique per-installation prefix or a separate Memcached instance as necessary isolation. That is a warning about the technology’s risk class, not proof that Joomla uses the same key format. No official Joomla confirmation establishes that Joomla 4 or Joomla 5 always namespaces Memcached keys by site. Treat key isolation as unproven until you inspect and test the exact release and handler you run.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →A shared daemon also creates operational coupling:
- A memory limit or eviction storm caused by one busy site affects every site in the pool.
- A restart, flush, or maintenance command has a multi-site blast radius.
- Monitoring cannot easily tell which site consumed memory or generated failures.
- Sites owned by different administrators cannot be given independent cache-management access.
Choose an isolation model before changing Joomla
| Model | Isolation | When to use it | Main trade-off |
|---|---|---|---|
| Separate Memcached daemon per site, separate TCP port | Strong | VPS, dedicated server, or a host where you control services | More service definitions and memory limits to maintain |
| Separate daemon per site, separate Unix socket | Strong, with local-only access | All sites and PHP workers are on the same machine | Socket ownership and path permissions must be correct |
| One shared daemon with a verified per-site key prefix | Potentially adequate, but version-dependent | Only after source inspection and collision testing for your Joomla build | A Joomla update or handler change could alter key behavior |
| One shared daemon with no verified namespace | Unsafe | Do not use for production sites | Collisions, cross-site flushes, and shared evictions |
For most administrators, the first or second row is the practical answer. Assign each site a dedicated port such as 11211, 11212, and 11213, or a dedicated socket path. Those values are examples; use ports and paths that are free on your host and permitted by its service manager and firewall.
Prerequisites and checks
Confirm the Joomla and PHP versions
Record the exact Joomla release, PHP version, and the PHP SAPI used by web requests (for example, PHP-FPM). The command-line PHP binary and the web server can load different php.ini files and extensions. A successful check in a shell does not prove that Joomla’s PHP-FPM workers can use the same class.
Identify the installed PHP extension
Memcached and Memcache are separate PHP extensions. Check the web runtime, not just the command line. A temporary diagnostic page that calls phpinfo() can show loaded modules and configuration; remove it immediately after checking because it exposes environment details.
Rank #2
- OWC 32GB UPGRADE: Consists of 2pcs of 16GB DDR4 2666MHz PC4-21300 CL19 2RX8 ECC SO-DIMM 1.2V 260-pin Memory Modules Compatible with Synology part numbers D4ECSO-2666-16G, D4ES01-16G
- Compatible for Synology NAS DiskStation, RackStation, FlashStation, & NVR DVA Servers models: DS1522+, DS1618+, DS1621+, DS1621xs+, DS1819+, DS1821+, DS2419+, DS2419+II, DS2422+, DS3018xs, DS3617xs, DS3617xsII, DS3622xs+, DVA3219, DVA3221, FS1018, RS1221+, RS1221RP+, RS822+, RS822RP+
- INCREASED PERFORMANCE: Memory Upgrades are the Most Effective and Easy Way to Boost the Performance of Your Server, Micro Server or NAS System
- INDUSTRY LEADING: Consumer Friendly Advanced Replacement Program and Limited Lifetime Warranty, which Includes Free Tech Support by Other World Computing
- EASY INSTALLATION: In Most Cases Installing Memory is an Easy DIY project. Watch our OWC Basic Installation Video for help.
You can also test the classes from the relevant PHP runtime:
class_exists('Memcached')should be true for thememcachedhandler.class_exists('Memcache')should be true for thememcachehandler.
If neither class is available, install or enable the matching extension through your operating system or hosting control panel, then restart the PHP workers. Do not select a handler merely because its name resembles the daemon name.
Check that each Memcached endpoint is reachable
Verify that the daemon is listening on the intended loopback address, port, or Unix socket and that the PHP worker user can connect. Keep Memcached bound to a private interface or local socket; it is not an authenticated public service and should not be exposed to the internet.
Configure an isolated instance for each Joomla site
The following sequence applies when you control the host and can create separate Memcached endpoints. Exact service-file syntax varies by Linux distribution and hosting panel, so use your platform’s documented method to create and supervise the daemons.
- Inventory the sites. Make a table containing each site’s document root, Joomla version, PHP-FPM pool, Unix user, and chosen endpoint. Do not reuse an endpoint accidentally.
- Create the first isolated endpoint. Give site A its own TCP port or Unix socket. Set a memory limit appropriate to that site rather than allowing one site’s cache to consume the entire host.
- Create one endpoint per additional site. Repeat the process with different ports or socket paths. Ensure every daemon has a unique PID file, log destination, and service name.
- Set ownership and access. For a Unix socket, the socket’s group and mode must allow the PHP-FPM user for that site to connect while denying unrelated users. For TCP, bind to loopback or a private network address and restrict the port with the host firewall.
- Start and verify the daemons. Confirm that each endpoint is listening and that restarting one does not stop the others. Test connectivity from the same PHP runtime that serves the corresponding Joomla site.
- Back up
configuration.php. Copy the file securely before editing. It contains database credentials and the site’s secret; do not publish it or leave a web-accessible backup. - Enable Joomla caching. In that site’s configuration, set
$caching = '2';and select the handler that matches the loaded PHP class. - Set the endpoint values. For a TCP endpoint, set
$memcached_server_hostto the loopback address and$memcached_server_portto that site’s unique port. For a Unix socket, use the socket path only if the Joomla version and handler support that form and your hosting documentation specifies the correct property value. - Save with the correct PHP syntax. Keep the surrounding quotes and semicolons used by the existing file. A syntax error can take the site offline before Joomla can display an error.
- Repeat for every site. Each site must point to its own endpoint. Do not copy site A’s port into the other configurations.
Typical configuration pattern
Community setup guides for older Joomla releases use a pattern like this for a TCP endpoint:
Rank #3
- Capacity – 32GB RAM KIT (2 x 16GB Modules) Speed up to 2400MHz Non-ECC Unbuffered 288-Pin 1.2V UDIMM.
- Specs – Black PCB Color and Dual Rank (2Rx8).
- Compatibility – Designed for selected DDR4 Desktop PCs and workstations that support 288-Pin UDIMM memory. NOT compatible with Laptop SODIMM slots.
- Installation – Plug-and-Play Upgrade, Quick and Easy to Install, no expertise required (please refer to your system's manual for guidelines).
- Warranty – All Timetec products are high-quality and rigorously tested to meet stringent standards. Backed by Timetec Limited Lifetime Warranty and professional technical support based in the United States.
public $caching = '2';
public $cache_handler = 'memcached';
public $memcached_server_host = '127.0.0.1';
public $memcached_server_port = '11211';
The exact property declarations and available handlers depend on the Joomla release. Some older guides use 'memcache' instead of 'memcached'. Use the property names present in the configuration.php-dist shipped with your installed version, and verify that the selected PHP class exists. If your file uses a different declaration style, preserve that style rather than pasting the block unchanged.
Example endpoint map
| Site | Endpoint example | Joomla values |
|---|---|---|
| Site A | 127.0.0.1:11211 |
$memcached_server_host = '127.0.0.1';$memcached_server_port = '11211'; |
| Site B | 127.0.0.1:11212 |
$memcached_server_host = '127.0.0.1';$memcached_server_port = '11212'; |
| Site C | 127.0.0.1:11213 |
$memcached_server_host = '127.0.0.1';$memcached_server_port = '11213'; |
The ports in this table illustrate separation; they are not a requirement to use those exact numbers.
How to validate that each Joomla site uses the intended cache
- Clear Joomla’s existing cache from the administrator interface after saving the configuration. If the site is unavailable, use the documented command or administrative method for your Joomla release rather than issuing a host-wide Memcached flush.
- Load an uncached page twice. The first request should populate the cache; the next request should be served with the cache handler active. Look for errors in Joomla’s logs and the PHP-FPM log.
- Change a harmless piece of site A’s content. Clear only site A’s Joomla cache, then confirm that site B still behaves normally. This checks administrative separation, not just connectivity.
- Restart site A’s daemon. Site A should lose its cache temporarily while site B remains reachable and its endpoint continues listening.
- Observe memory and evictions per endpoint. A single host-wide metric can hide one site’s overuse. Record each daemon’s configured memory and restart status.
Do not treat a successful page load as proof that keys are isolated when all sites share one daemon. A collision may occur only when two sites use the same extension, component, language, or URL pattern.
If you insist on one shared Memcached instance
Use a shared daemon only after verifying the exact Joomla source and release behavior. The unresolved question is whether Joomla 4 or 5, in the specific build you run, incorporates a site-specific prefix or secret-derived namespace into every relevant cache key. Configuration values such as $secret and $cache_platformprefix appear in community configuration material, but their contribution to the key hash is not established by that material.
Verification checklist
- Inspect the cache classes for your exact Joomla version and handler, not an older Joomla branch.
- Trace how the site identity, configuration secret, language, client platform, and cache group enter the final key.
- Check every cache group used by your extensions; a core prefix is not enough if an extension writes directly to Memcached.
- Run collision tests with two disposable sites that use identical URL paths and similar content.
- Flush or delete entries for one test site and verify that the other site’s cached responses remain intact.
- Repeat the test after a Joomla update, PHP extension update, or handler change.
If you cannot demonstrate isolation for all cache groups, use separate endpoints. A unique prefix in an analogous platform does not automatically configure a Joomla prefix, and adding an undocumented variable to configuration.php can be ignored or cause errors.
Rank #4
- A-Tech RAM Memory compatible for select DDR4 Servers & Workstation systems only; (*WILL NOT WORK with Desktop Computers, Laptop Computers, or PCs of any kind*)
- 128GB RAM Kit (8 x 16GB Modules); DDR4 DIMM 288 Pin; Speeds up to 2133MHz PC4-17000 (PC4-2133P)
- ECC Registered RDIMM; 2Rx4 - Dual Rank x4; JEDEC DDR4 standard 1.2V
- Improves system performance, workload capacity, and reduces bottlenecks by increasing memory (RAM) resources
- Note: This memory is ECC Registered and cannot be mixed with different ECC types such as ECC Unbuffered, ECC Load Reduced, or Non-ECC Unbuffered; (Memory compatibility can vary among different system models and their installed components; please verify compatibility and follow memory channel guidelines to ensure maximum performance)
Sessions are a separate decision
Page and data caching do not automatically determine where Joomla stores sessions. An old community forum procedure describes a memcache session handler and a memcache_settings option for a much older Joomla release. That procedure is not verified for Joomla 4 or Joomla 5, so do not apply it to a current site without confirming that the installed Joomla version supports it.
Before moving sessions to Memcached, identify the session handler offered by your Joomla release and confirm that all PHP workers serving a site can reach the same endpoint. A session outage can log every administrator and visitor out, so keep a rollback path to the previously working session storage. Never assume that switching the page-cache handler also moves sessions.
Shared-hosting limitations
Provider support is not uniform. One hosting guide reports that Memcached is unavailable on non-Turbo shared accounts and that Turbo accounts use a Unix socket for the host setting. Treat that as provider- and plan-specific, not as a Joomla requirement. Ask the host:
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →- Whether Memcached is enabled for your PHP version and SAPI.
- Which handler name and class are available.
- Whether each account receives a private instance, a private socket, or a shared service.
- What host value represents a Unix socket in that environment.
- Whether you may run additional daemons or choose custom ports.
- How cache flushes and restarts are scoped.
If the host gives every site the same endpoint and cannot document key isolation, disable Memcached for the sites rather than accepting cross-site cache risk. Joomla can run with another supported cache method; a predictable uncached site is preferable to contaminated responses.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Common failure modes and fixes
| Symptom | Likely cause | Action |
|---|---|---|
| “Not supported on this platform” or an equivalent handler error | The configured handler does not match the installed PHP extension, or that handler is unavailable in the Joomla build. | Check for Memcached versus Memcache, select the matching handler, and confirm the web SAPI has the extension loaded. |
| Site loads, but cached content from another site appears | Sites share a daemon without a verified namespace. | Stop sharing the endpoint; assign separate ports or sockets, clear each site’s cache, and retest. |
| Connection refused or timeout | The daemon is stopped, listening on another address or port, blocked by a firewall, or the socket path is wrong. | Check the listener, service status, endpoint value, and PHP-FPM permissions. |
| Unix-socket permission denied | The PHP-FPM user is not in the socket’s group or the mode is too restrictive. | Correct service ownership and mode, then restart the daemon and PHP workers. |
| One site’s cache disappears when another site is cleared | A host-wide flush was sent to a shared daemon. | Use isolated endpoints. With a shared daemon, a flush cannot be assumed to be site-specific. |
Changes in configuration.php have no effect |
The edited file is not the active site’s configuration, PHP workers are using stale processes, or the property name is wrong for the Joomla version. | Confirm the document root, inspect the active configuration template, restart PHP workers if required, and check logs. |
| Administrators are repeatedly logged out after a session change | The session handler or endpoint is unsupported, unreachable, or inconsistent across workers. | Restore the previous session setting, then verify version support and endpoint reachability before trying again. |
Security and capacity practices
- Keep Memcached private. Bind to loopback, a protected private interface, or a Unix socket. Do not expose the default Memcached port to the public internet.
- Separate Unix users where practical. Per-site PHP-FPM pools and socket permissions reduce accidental access between sites.
- Size memory per site. Separate instances make it possible to limit a noisy site without evicting every other site’s entries. There is no universal correct allocation; base it on observed working-set size and available RAM.
- Plan restarts. Memcached is volatile. A daemon restart removes its contents, so Joomla must be able to regenerate cache entries without treating them as permanent data.
- Monitor errors and evictions. Track connection failures, restarts, memory exhaustion, and eviction behavior for each endpoint instead of relying only on a host-wide total.
- Protect configuration files. Ensure the web server cannot download
configuration.phpor its backups.
Migration and rollback plan
- Back up each site’s database, files, and current
configuration.php. - Document the existing cache and session handlers before changing either one.
- Create and test isolated Memcached endpoints without changing production Joomla settings.
- Switch one low-risk site first, clear only its cache, and monitor logs and response behavior.
- Move the remaining sites one at a time, recording the endpoint and handler for each.
- If errors appear, restore that site’s previous configuration, clear stale cache entries, and restart only the affected PHP workers or daemon.
- After migration, test a site-specific cache clear and an isolated daemon restart so the recovery procedure is known before an incident.
Recommended configuration for most multi-site hosts
Use one Memcached instance per Joomla site, with a unique TCP port or Unix socket, and select memcached or memcache only after checking which PHP class is loaded. Keep sessions on the currently supported Joomla handler unless your exact release documents Memcached session support. Consider a single shared daemon only when source inspection and repeatable tests prove per-site key isolation for every cache group and extension you use.
Best Value
- Disclaimer: Maximum Speed requires overclocking/PC BIOS adjustments. Maximum speed and performance depend on system components, including motherboard and CPU
- Hand-sorted memory chips ensure high performance with generous overclocking headroom
- VENGEANCE LPX is optimized for wide compatibility with the latest Intel and AMD DDR4 motherboards
- A low-profile height of just 34mm ensures that VENGEANCE LPX even fits in most small-form-factor builds
- A solid aluminum heatspreader efficiently dissipates heat from each module so that they consistently run at high clock speeds
Frequently Asked Questions
Can several Joomla sites use the same Memcached daemon?
They can connect to the same daemon, but doing so is safe only when the exact Joomla version, handler, and extensions provide a verified per-site key namespace. Separate ports or sockets are the safer default.
What is the difference between the memcache and memcached handlers?
They refer to different PHP extensions and classes. The memcached handler requires the PHP Memcached class; memcache requires Memcache. Configure the handler that is actually loaded by the web PHP runtime.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteDoes changing Joomla’s cache handler also move sessions?
No. Session storage is a separate setting. An old procedure for a memcache session handler applies to a much older Joomla context and is not verified for Joomla 4 or 5.
Is a unique cache prefix enough to share one instance?
Only if you have confirmed that your Joomla release and every relevant extension apply that prefix to all keys. An approach documented for another CMS is not proof of Joomla behavior.
What should I do if my host provides only one shared endpoint?
Ask the provider how keys and flushes are isolated. If they cannot document isolation and you cannot verify it in your Joomla build, use another supported cache method or obtain separate endpoints.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Recommended Free Tools




