{"id":6060,"date":"2026-07-01T10:20:53","date_gmt":"2026-07-01T07:20:53","guid":{"rendered":"https:\/\/www.scalahosting.com\/kb\/?p=6060"},"modified":"2026-07-01T10:20:54","modified_gmt":"2026-07-01T07:20:54","slug":"deploy-redis-cache-spanel","status":"publish","type":"post","link":"https:\/\/www.scalahosting.com\/kb\/deploy-redis-cache-spanel\/","title":{"rendered":"How to Deploy Redis Cache in SPanel"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In SPanel you deploy Redis from <em>Software<\/em> &gt; <em>Redis Cache<\/em> by switching on &#8220;Activate Redis Cache for this account&#8221; and confirming. SPanel provisions a dedicated Redis instance on a private loopback with its own password, then shows the host, port, and credentials to copy into your app.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deploying does not connect any site &#8211; you still point your app or WordPress Redis plugin at the host and password yourself.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Who this is for<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You run a database-heavy site &#8211; often WordPress with a busy catalog, membership area, or comment load &#8211; and pages are slow because the same queries hit MySQL on every request. You want an object cache to hold those results in memory. This is for the account owner or whoever manages the site in SPanel; no SSH needed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What problem this solves<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When a site repeats expensive database work on every visit, response times climb under traffic and the database becomes the bottleneck. An object cache like Redis keeps frequently used query results in memory, so your application reads them back in microseconds instead of rebuilding them &#8211; lighter database load, faster pages during spikes. The usual catch is standing Redis up and securing it, which SPanel does for you.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How SPanel solves this<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Open <strong>Software &gt; Redis Cache<\/strong> in SPanel. You will see a single toggle labeled <strong>Activate Redis Cache for this accoun<\/strong>t, which is OFF by default. Switching it on raises a confirmation &#8211; &#8220;<em>Please confirm you want to deploy Redis Cache<\/em>&#8221; &#8211; with No and Yes, your safety check before anything is provisioned. Choose Yes, and the page shows Redis Server<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Details<\/strong>: the Redis Version, a private Redis IP (a 127.x.x.1 loopback), TCP Port 6379, and a masked Redis Password, plus Statistics and Redis Limits. SPanel handles installation and credentials; from here you copy the host and password into your app or WordPress Redis plugin so it uses the cache.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Why this is different in SPanel<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Two things stand out. First, each hosting account gets its own dedicated Redis instance bound to a private loopback, with its own generated password and a memory limit, managed by systemd &#8211; not a shared multi-tenant Redis where accounts compete for memory or see each other&#8217;s keys. Second, deploying is a single panel action &#8211; no SSH, no root, no config files to edit.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Before you start<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Access to the SPanel user interface<\/strong> for the account that will run Redis.<\/li>\n\n\n\n<li>Know <strong>which application will use the cache<\/strong> &#8211; a WordPress site with a Redis object-cache plugin, or another app that speaks the Redis protocol.<\/li>\n\n\n\n<li>A place to <strong>paste the host, port, and password<\/strong>. The password is generated for you; keep it private.<\/li>\n\n\n\n<li>Nothing is destroyed by deploying, but confirming provisions a live instance, so <strong>deploy when you are ready<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step-by-step<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In SPanel, open <strong>Software<\/strong> > <strong>Redis Cache<\/strong>. The page loads with the toggle OFF &#8211; &#8220;Activate Redis Cache for this account,&#8221; and no server details yet.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1024\" height=\"210\" src=\"https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/07\/Screenshot-2026-07-01-100458-1024x210.webp\" alt=\"How to Deploy Redis Cache in SPanel, Step-by-step\" class=\"wp-image-6062\" srcset=\"https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/07\/Screenshot-2026-07-01-100458-1024x210.webp 1024w, https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/07\/Screenshot-2026-07-01-100458-300x62.webp 300w, https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/07\/Screenshot-2026-07-01-100458-768x158.webp 768w, https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/07\/Screenshot-2026-07-01-100458.webp 1314w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Switch on <strong>Activate Redis Cache for this account<\/strong>. SPanel shows the confirmation <strong>Please confirm you want to deploy Redis Cache<\/strong> with No and Yes. Read it first &#8211; this provisions a live instance.<\/li>\n\n\n\n<li>Click <strong>Yes<\/strong>. The page then shows <strong>Redis Server Details<\/strong>: Redis Version, the Redis IP (for example 127.10.2.1), TCP Port 6379, and a masked Redis Password, plus Statistics and Redis Limits. In our screenshots this is the yoga account, password masked.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large mpg-gallery\"><img decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/07\/01-redis-activate-1024x640.webp\" alt=\"How to Deploy Redis Cache in SPanel, Step-by-step 2\" class=\"wp-image-6063\" srcset=\"https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/07\/01-redis-activate-1024x640.webp 1024w, https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/07\/01-redis-activate-300x188.webp 300w, https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/07\/01-redis-activate-768x480.webp 768w, https:\/\/www.scalahosting.com\/kb\/wp-content\/uploads\/2026\/07\/01-redis-activate.webp 1440w\" sizes=\"(max-width: 361px) 660px, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 910px, 1140px\" \/><\/figure>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li>Use the <strong>reveal and copy buttons<\/strong> to grab the password, then copy the Redis IP and port 6379. Paste them into your <strong>app config<\/strong> or <strong>WordPress Redis plugin settings<\/strong>, save, and confirm the plugin reports the cache connected. Deploying alone connects nothing &#8211; this step puts it to work.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What happens behind the scenes<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SPanel provisions a Redis server scoped to your account and starts it under systemd, so it returns automatically after a restart. It binds Redis to a private 127.x.x.1 loopback rather than a public interface, so the cache is reachable only from your account and never exposed to the internet. A memory limit keeps it from growing without bound.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Limitations and edge cases<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Redis is <strong>per hosting account, not per site<\/strong>. Sites under one account share the same instance. To avoid collisions, give each app a distinct key prefix.<\/li>\n\n\n\n<li>Deploying <strong>does not connect any site automatically<\/strong>. SPanel gives you the host and password; you configure your app or plugin yourself. Until you do, nothing is cached.<\/li>\n\n\n\n<li>Redis is an <strong>in-memory cache, not durable storage<\/strong>. Treat its contents as disposable &#8211; anything in it can be evicted or cleared. Never store data you cannot regenerate.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Troubleshooting<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-table is-style-regular green-rows\"><table class=\"has-fixed-layout\"><tbody><tr><td>Symptom<\/td><td>Likely cause<\/td><td>What to do<\/td><\/tr><tr><td>Plugin reports &#8220;not connected&#8221; after deploy<\/td><td>App not pointed at the Redis host, port, or password<\/td><td>Copy the Redis IP, port 6379, and password into the plugin and save<\/td><\/tr><tr><td>No speed improvement after deploying<\/td><td>Instance provisioned but no app configured to use it<\/td><td>Confirm the plugin references the Redis host and shows the cache active<\/td><\/tr><tr><td>Two sites returning each other&#8217;s cached data<\/td><td>Sites share one instance with no key prefixes<\/td><td>Set a distinct key prefix per app<\/td><\/tr><tr><td>Cache entries disappear unexpectedly<\/td><td>Memory limit reached, so older keys are evicted<\/td><td>Cache only regenerable data; review Redis Limits<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>When to use this \/ when not to use this<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-table is-style-regular green-rows\"><table class=\"has-fixed-layout\"><tbody><tr><td>Use this when<\/td><td>Skip or use something else when<\/td><\/tr><tr><td>A database-heavy site repeats the same queries on every request<\/td><td>The site is mostly static and the database is not the bottleneck<\/td><\/tr><tr><td>You want an object cache for WordPress or a Redis-aware app<\/td><td>Your app cannot speak the Redis protocol<\/td><\/tr><tr><td>You want managed setup without SSH or root<\/td><td>You need a public or cross-server Redis endpoint<\/td><\/tr><tr><td>You can configure the plugin with the credentials<\/td><td>You need durable storage that survives eviction<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>FAQ<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q:<\/strong> <strong>Does deploying Redis automatically speed up my WordPress site?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A:<\/strong> No. SPanel provisions the instance, but you must install a Redis object-cache plugin and point it at the credentials. Until then it sits idle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q:<\/strong> <strong>Where do I find the Redis host and password?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A:<\/strong> After you confirm deployment, the Redis Server Details panel shows the Redis IP, TCP Port 6379, and a masked Redis Password with reveal and copy buttons.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q:<\/strong> <strong>Is my Redis instance shared with other accounts?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A:<\/strong> No. Each account gets its own dedicated instance bound to a private loopback with its own password. It is not multi-tenant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q:<\/strong> <strong>Can two sites under one account use the same Redis?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A:<\/strong> Yes, but they share one instance. Give each site a distinct key prefix so their keys do not collide.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q:<\/strong> <strong>Is the data in Redis safe to rely on long term?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A:<\/strong> No. It is an in-memory cache, not durable storage. Entries can be evicted when the memory limit is reached, so only cache data you can rebuild.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q:<\/strong> <strong>Can I reach this Redis from another server?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A:<\/strong> No. The instance is bound to a private 127.x.x.1 loopback, reachable only from within the same account.<\/p>\n\n\n\n<script type=\"application\/ld+json\">\n    {\n      \"@context\": \"https:\/\/schema.org\",\n      \"@type\": \"FAQPage\",\n      \"mainEntity\": [{\n        \"@type\": \"Question\",\n        \"name\": \"Does deploying Redis automatically speed up my WordPress site?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"No. SPanel provisions the instance, but you must install a Redis object-cache plugin and point it at the credentials. Until then it sits idle.\"\n        }\n      }, {\n        \"@type\": \"Question\",\n        \"name\": \"Where do I find the Redis host and password?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"After you confirm deployment, the Redis Server Details panel shows the Redis IP, TCP Port 6379, and a masked Redis Password with reveal and copy buttons.\"\n        }\n      },{\n        \"@type\": \"Question\",\n        \"name\": \"Is my Redis instance shared with other accounts?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"No. Each account gets its own dedicated instance bound to a private loopback with its own password. It is not multi-tenant.\"\n        }\n      },{\n        \"@type\": \"Question\",\n        \"name\": \"Can two sites under one account use the same Redis?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"Yes, but they share one instance. Give each site a distinct key prefix so their keys do not collide.\"\n        }\n      },{\n        \"@type\": \"Question\",\n        \"name\": \"Is the data in Redis safe to rely on long term?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"No. It is an in-memory cache, not durable storage. Entries can be evicted when the memory limit is reached, so only cache data you can rebuild.\"\n        }\n      },{\n        \"@type\": \"Question\",\n        \"name\": \"Can I reach this Redis from another server?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"No. The instance is bound to a private 127.x.x.1 loopback, reachable only from within the same account.\"\n        }\n      }]\n    }\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>In SPanel you deploy Redis from Software &gt; Redis Cache by switching on &#8220;Activate Redis Cache for this account&#8221; and confirming. SPanel provisions a dedicated Redis instance on a private loopback with its own password, then shows the host, port, and credentials to copy into your app.&nbsp; Deploying does not connect any site &#8211; you [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_seopress_titles_title":"%%post_title%% | ScalaHosting KB","_seopress_titles_desc":"Learn how to deploy Redis Cache in SPanel, find your Redis host, port, and password, and connect your WordPress plugin or app to start using object cache.","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","_seopress_news_disabled":"","_seopress_video_disabled":"","_seopress_video":[],"_seopress_pro_schemas_manual":[],"_seopress_pro_rich_snippets_disable_all":"","_seopress_pro_rich_snippets_disable":[],"_seopress_pro_schemas":[],"footnotes":""},"categories":[66],"tags":[],"class_list":["post-6060","post","type-post","status-publish","format-standard","hentry","category-tutorials"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/posts\/6060","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/comments?post=6060"}],"version-history":[{"count":1,"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/posts\/6060\/revisions"}],"predecessor-version":[{"id":6064,"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/posts\/6060\/revisions\/6064"}],"wp:attachment":[{"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/media?parent=6060"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/categories?post=6060"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.scalahosting.com\/kb\/wp-json\/wp\/v2\/tags?post=6060"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}