{"id":614,"date":"2016-06-20T15:01:47","date_gmt":"2016-06-20T09:31:47","guid":{"rendered":"https:\/\/blog.pheonixsolutions.com\/?p=614"},"modified":"2016-06-20T15:02:37","modified_gmt":"2016-06-20T09:32:37","slug":"deleting-memcache-key-on-cluster","status":"publish","type":"post","link":"https:\/\/pheonixsolutions.com\/blog\/deleting-memcache-key-on-cluster\/","title":{"rendered":"Script to delete Memcache key on cluster"},"content":{"rendered":"<p>The below script is used to delete the same memcache key or multiple memcache keys across multiple memcache hosts.<\/p>\n<p><strong>Assumption:<\/strong><\/p>\n<p>If below mentioned condition doesn&#8217;t satisfied then the script may fail or may not work. All you have to do is modify\/tweak the script as per your requirement<\/p>\n<ol>\n<li>Script assumes that you have multiple memcache clusters listening on different port. Category your memcache cluster hosts on MEMCACHE_CLUSTER section.<\/li>\n<li>Script assumes that the machine has memcache python module installed on it. If not, you may need to install the module.<\/li>\n<li>Make sure that origin hosts (where the script runs) is able to connect to memcache port(default:11211) on all the machines.<\/li>\n<\/ol>\n<blockquote><p>#!\/usr\/bin\/python<br \/>\n########Script to Delete Memcache Key########<br \/>\n#Author:Dhanasekaran N<br \/>\n#Email:support@pheonixsolutions.com<\/p>\n<p>#Version:1.0<br \/>\n#############################################<br \/>\nimport memcache<br \/>\nfrom fabric import *<br \/>\nfrom fabric.api import *<\/p>\n<p>#Mention your Cluster hosts and unique name<br \/>\n_MEMCACHE_CLUSTER_ = {<br \/>\n&#8220;Cluster1&#8221; :[&#8216;IPAddress1:&lt;port&gt;&#8217;,&#8217;IPaddress2:&lt;port&gt;&#8217;],<br \/>\n&#8220;Cluster2&#8221; :[&#8216;IPaddress3:&lt;port&gt;&#8217;,&#8217;IPaddress:&lt;port&gt;&#8217;],<br \/>\n}<br \/>\ndef _run_command(host_name,verify_key):<br \/>\nmc = memcache.Client([host_name], debug=0)<br \/>\n#run(&#8216;pwd&#8217;);<br \/>\nprint &#8220;key name:&#8221; + verify_key;<br \/>\nchecked_key=mc.get(verify_key);<br \/>\nprint\u00a0 checked_key;<br \/>\nif(checked_key is None):<br \/>\nprint &#8220;The key %s doesn&#8217;t exist &#8221;\u00a0 %(verify_key)<br \/>\nelse:<br \/>\nprint &#8220;Deleting %s from %s&#8221; %(verify_key,host_name)<br \/>\nmc.delete(verify_key)<\/p>\n<p>def delete_memcache(delete_key=&#8217;none&#8217;,hosts_group=&#8217;none&#8217;,delete_multiple_keys=&#8217;none&#8217;):<br \/>\nall_groups=_MEMCACHE_CLUSTER_.keys();<br \/>\n#print delete_multiple_keys;<br \/>\nif (delete_key==&#8217;none&#8217; and\u00a0 delete_multiple_keys==&#8217;none&#8217;):<br \/>\nprint &#8220;No delete Key or delete_multiple_key Mentioned&#8221;;<br \/>\nprint &#8220;Eg:fab\u00a0 delete_memcache:delete_key=&#8217;some_key1&#8242;,hosts_group=&#8217;java_api'&#8221;<br \/>\nelif(hosts_group ==&#8217;none&#8217;):<br \/>\nprint &#8220;Mention the host Group while running fab&#8221;<br \/>\nprint _MEMCACHE_CLUSTER_.keys();<br \/>\nelse:<br \/>\nif(delete_multiple_keys!=&#8217;none&#8217;):<br \/>\nif(delete_multiple_keys):<br \/>\ndelete_multiple_keys = delete_multiple_keys.split(&#8220;;&#8221;)<br \/>\nfor cache_cluster in all_groups:<br \/>\nif(cache_cluster == hosts_group):<br \/>\n#print _MEMCACHE_CLUSTER_[cache_cluster];<br \/>\nfor cache_cluster_hosts in _MEMCACHE_CLUSTER_[cache_cluster]:<br \/>\nprint cache_cluster_hosts;<br \/>\nfor delete_key in delete_multiple_keys:<br \/>\nexecute(_run_command,hosts=cache_cluster_hosts,host_name=cache_cluster_hosts,verify_key=delete_key);<br \/>\nelse:<br \/>\nfor cache_cluster in all_groups:<br \/>\nif(cache_cluster == hosts_group):<br \/>\nfor cache_cluster_hosts in _MEMCACHE_CLUSTER_[cache_cluster]:<br \/>\nprint cache_cluster_hosts;<br \/>\nexecute(_run_command,hosts=cache_cluster_hosts,host_name=cache_cluster_hosts,verify_key=delete_key);<\/p><\/blockquote>\n<p><strong>Usage:<\/strong><\/p>\n<p>1. <em>fab delete_memcache:delete_key=keyname,hosts_group=Cluster1<\/em> &#8211; &gt;To delete a single key on the host group Cluster1<\/p>\n<p>2. <em>fab delete_memcache:delete_multiple_keys=keyname1;keyname2,hosts_group=Cluster1<\/em>\u00a0 -&gt; To delete multiple keys on the host group Cluster1<\/p>\n<p>Post your suggestions\/queries incase if any issues.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The below script is used to delete the same memcache key or multiple memcache keys across multiple memcache hosts. Assumption: If below mentioned condition doesn&#8217;t satisfied then the script may fail or may not work. All you have to do is modify\/tweak the script as per your requirement Script assumes&hellip; <a href=\"https:\/\/pheonixsolutions.com\/blog\/deleting-memcache-key-on-cluster\/\" class=\"more-link read-more\" rel=\"bookmark\">Continue Reading <span class=\"screen-reader-text\">Script to delete Memcache key on cluster<\/span><i class=\"fa fa-arrow-right\"><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[259],"tags":[],"class_list":{"0":"post-614","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"hentry","6":"category-python","7":"h-entry","9":"h-as-article"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Pheonix Solutions - We Empower Your Business Growth<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/pheonixsolutions.com\/blog\/deleting-memcache-key-on-cluster\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pheonix Solutions - We Empower Your Business Growth\" \/>\n<meta property=\"og:description\" content=\"The below script is used to delete the same memcache key or multiple memcache keys across multiple memcache hosts. Assumption: If below mentioned condition doesn&#8217;t satisfied then the script may fail or may not work. All you have to do is modify\/tweak the script as per your requirement Script assumes&hellip; Continue Reading Script to delete Memcache key on cluster\" \/>\n<meta property=\"og:url\" content=\"https:\/\/pheonixsolutions.com\/blog\/deleting-memcache-key-on-cluster\/\" \/>\n<meta property=\"og:site_name\" content=\"PHEONIXSOLUTIONS\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/PheonixSolutions-209942982759387\/\" \/>\n<meta property=\"article:published_time\" content=\"2016-06-20T09:31:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-06-20T09:32:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2016\/09\/PX2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"3837\" \/>\n\t<meta property=\"og:image:height\" content=\"2540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@pheonixsolution\" \/>\n<meta name=\"twitter:site\" content=\"@pheonixsolution\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/deleting-memcache-key-on-cluster\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/deleting-memcache-key-on-cluster\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/0ffa33d73c869faec2d50e79c24e3503\"},\"headline\":\"Script to delete Memcache key on cluster\",\"datePublished\":\"2016-06-20T09:31:47+00:00\",\"dateModified\":\"2016-06-20T09:32:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/deleting-memcache-key-on-cluster\\\/\"},\"wordCount\":463,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#organization\"},\"articleSection\":[\"Python\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/deleting-memcache-key-on-cluster\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/deleting-memcache-key-on-cluster\\\/\",\"url\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/deleting-memcache-key-on-cluster\\\/\",\"name\":\"Pheonix Solutions - We Empower Your Business Growth\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#website\"},\"datePublished\":\"2016-06-20T09:31:47+00:00\",\"dateModified\":\"2016-06-20T09:32:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/deleting-memcache-key-on-cluster\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/deleting-memcache-key-on-cluster\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/deleting-memcache-key-on-cluster\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Script to delete Memcache key on cluster\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/\",\"name\":\"Pheonix Solutions\",\"description\":\"We Empower Your Business Growth\",\"publisher\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#organization\",\"name\":\"PheonixSolutions\",\"url\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/logo.png\",\"width\":454,\"height\":300,\"caption\":\"PheonixSolutions\"},\"image\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/PheonixSolutions-209942982759387\\\/\",\"https:\\\/\\\/x.com\\\/pheonixsolution\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/0ffa33d73c869faec2d50e79c24e3503\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09bacc0294abee1322a23ab4bc6a0330dd4cb4df707dc9d0b0efeba6c109608b?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09bacc0294abee1322a23ab4bc6a0330dd4cb4df707dc9d0b0efeba6c109608b?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09bacc0294abee1322a23ab4bc6a0330dd4cb4df707dc9d0b0efeba6c109608b?s=96&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"http:\\\/\\\/blog.pheonixsolutions.com\"],\"url\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pheonix Solutions - We Empower Your Business Growth","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/pheonixsolutions.com\/blog\/deleting-memcache-key-on-cluster\/","og_locale":"en_US","og_type":"article","og_title":"Pheonix Solutions - We Empower Your Business Growth","og_description":"The below script is used to delete the same memcache key or multiple memcache keys across multiple memcache hosts. Assumption: If below mentioned condition doesn&#8217;t satisfied then the script may fail or may not work. All you have to do is modify\/tweak the script as per your requirement Script assumes&hellip; Continue Reading Script to delete Memcache key on cluster","og_url":"https:\/\/pheonixsolutions.com\/blog\/deleting-memcache-key-on-cluster\/","og_site_name":"PHEONIXSOLUTIONS","article_publisher":"https:\/\/www.facebook.com\/PheonixSolutions-209942982759387\/","article_published_time":"2016-06-20T09:31:47+00:00","article_modified_time":"2016-06-20T09:32:37+00:00","og_image":[{"width":3837,"height":2540,"url":"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2016\/09\/PX2.png","type":"image\/png"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@pheonixsolution","twitter_site":"@pheonixsolution","twitter_misc":{"Written by":"admin","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/pheonixsolutions.com\/blog\/deleting-memcache-key-on-cluster\/#article","isPartOf":{"@id":"https:\/\/pheonixsolutions.com\/blog\/deleting-memcache-key-on-cluster\/"},"author":{"name":"admin","@id":"https:\/\/pheonixsolutions.com\/blog\/#\/schema\/person\/0ffa33d73c869faec2d50e79c24e3503"},"headline":"Script to delete Memcache key on cluster","datePublished":"2016-06-20T09:31:47+00:00","dateModified":"2016-06-20T09:32:37+00:00","mainEntityOfPage":{"@id":"https:\/\/pheonixsolutions.com\/blog\/deleting-memcache-key-on-cluster\/"},"wordCount":463,"commentCount":0,"publisher":{"@id":"https:\/\/pheonixsolutions.com\/blog\/#organization"},"articleSection":["Python"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/pheonixsolutions.com\/blog\/deleting-memcache-key-on-cluster\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/pheonixsolutions.com\/blog\/deleting-memcache-key-on-cluster\/","url":"https:\/\/pheonixsolutions.com\/blog\/deleting-memcache-key-on-cluster\/","name":"Pheonix Solutions - We Empower Your Business Growth","isPartOf":{"@id":"https:\/\/pheonixsolutions.com\/blog\/#website"},"datePublished":"2016-06-20T09:31:47+00:00","dateModified":"2016-06-20T09:32:37+00:00","breadcrumb":{"@id":"https:\/\/pheonixsolutions.com\/blog\/deleting-memcache-key-on-cluster\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/pheonixsolutions.com\/blog\/deleting-memcache-key-on-cluster\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/pheonixsolutions.com\/blog\/deleting-memcache-key-on-cluster\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/pheonixsolutions.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Script to delete Memcache key on cluster"}]},{"@type":"WebSite","@id":"https:\/\/pheonixsolutions.com\/blog\/#website","url":"https:\/\/pheonixsolutions.com\/blog\/","name":"Pheonix Solutions","description":"We Empower Your Business Growth","publisher":{"@id":"https:\/\/pheonixsolutions.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pheonixsolutions.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/pheonixsolutions.com\/blog\/#organization","name":"PheonixSolutions","url":"https:\/\/pheonixsolutions.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/pheonixsolutions.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2016\/12\/logo.png","contentUrl":"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2016\/12\/logo.png","width":454,"height":300,"caption":"PheonixSolutions"},"image":{"@id":"https:\/\/pheonixsolutions.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/PheonixSolutions-209942982759387\/","https:\/\/x.com\/pheonixsolution"]},{"@type":"Person","@id":"https:\/\/pheonixsolutions.com\/blog\/#\/schema\/person\/0ffa33d73c869faec2d50e79c24e3503","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/09bacc0294abee1322a23ab4bc6a0330dd4cb4df707dc9d0b0efeba6c109608b?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/09bacc0294abee1322a23ab4bc6a0330dd4cb4df707dc9d0b0efeba6c109608b?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/09bacc0294abee1322a23ab4bc6a0330dd4cb4df707dc9d0b0efeba6c109608b?s=96&r=g","caption":"admin"},"sameAs":["http:\/\/blog.pheonixsolutions.com"],"url":"https:\/\/pheonixsolutions.com\/blog\/author\/admin\/"}]}},"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p7F4uM-9U","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/614","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/comments?post=614"}],"version-history":[{"count":0,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/614\/revisions"}],"wp:attachment":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=614"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=614"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}