{"id":34610,"date":"2023-02-11T06:11:52","date_gmt":"2023-01-24T22:46:49","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%9c%ac%e6%9c%ba%e4%b8%8a%e6%9e%84%e5%bb%baaws-memcached%e7%9a%84%e5%ae%9e%e6%96%bd%e7%8e%af%e5%a2%83%e3%80%82\/"},"modified":"2024-04-29T14:06:15","modified_gmt":"2024-04-29T06:06:15","slug":"%e5%9c%a8%e6%9c%ac%e6%9c%ba%e4%b8%8a%e6%9e%84%e5%bb%baaws-memcached%e7%9a%84%e5%ae%9e%e6%96%bd%e7%8e%af%e5%a2%83%e3%80%82","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%9c%ac%e6%9c%ba%e4%b8%8a%e6%9e%84%e5%bb%baaws-memcached%e7%9a%84%e5%ae%9e%e6%96%bd%e7%8e%af%e5%a2%83%e3%80%82\/","title":{"rendered":"\u5728\u672c\u673a\u4e0a\u6784\u5efaAWS Memcached\u7684\u5b9e\u65bd\u73af\u5883"},"content":{"rendered":"<h2>\u9996\u5148<\/h2>\n<p>Amazon ElastiCache for Memcached\u3092\u5229\u7528\u3057\u305f\u5024\u306e\u53d6\u5f97\u306b\u3064\u3044\u3066\u8a18\u8f09\u3057\u307e\u3059\u3002<br \/>\n\u5b9f\u884c\u74b0\u5883\u306f\u4ee5\u4e0b\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/2-0.png\" alt=\"001.PNG\" \/><\/div>\n<p>\u53e6\u5916\uff0c\u6bcf\u4e2a\u5b89\u5168\u7ec4\u7684\u5165\u7ad9\u6743\u9650\u5982\u4e0b\u6240\u793a\u3002<\/p>\n<div>\n<div class=\"post-table\">AWS\u30b5\u30fc\u30d3\u30b9\u5229\u7528\u7528\u9014EC2User\u5074\u304b\u30895000\u756a\u30dd\u30fc\u30c8(\u30a2\u30d7\u30ea\u304cflask\u306e\u305f\u3081)\u306e\u8a31\u53ef, Cloud9\u304b\u308922\u756a\u30dd\u30fc\u30c8\u306e\u8a31\u53ef(\u30a2\u30d7\u30ea\u914d\u7f6e\u306e\u305f\u3081)RDSEC2,Cloud9\u306e\u5272\u308a\u5f53\u3066\u305f\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30b0\u30eb\u30fc\u30d7\u304b\u30893306\u756a\u30dd\u30fc\u30c8\u306e\u8a31\u53efMemcachedEC2,Cloud9\u304b\u308911211\u756a\u30dd\u30fc\u30c8\u306e\u8a31\u53efCloud9\u30c7\u30d5\u30a9\u30eb\u30c8<\/div>\n<\/div>\n<h2>\u521b\u5efa\u5404\u79cdAWS\u8d44\u6e90<\/h2>\n<p>\u6211\u5c06\u4ecb\u7ecd\u5404\u4e2aAWS\u8d44\u6e90\u7684\u521b\u5efa\u548c\u914d\u7f6e\u3002<br \/>\n\u9488\u5bf9EC2\u3001RDS\u548cCloud9\uff0c\u6211\u5c06\u63d0\u4f9b\u5e38\u89c4\u7684\u521b\u5efa\u65b9\u6cd5\u5e76\u8bb0\u5f55\u5176\u914d\u7f6e\u5185\u5bb9\uff1b\u800c\u5bf9\u4e8eMemcached\uff0c\u6211\u5c06\u8bb0\u5f55\u5176\u521b\u5efa\u65b9\u6cd5\u3002<\/p>\n<h4>1. RDS\u7684\u8bbe\u7f6e<\/h4>\n<p>\u5173\u4e8eRDS\u7684\u6784\u5efa\u672c\u8eab\u6211\u4eec\u5c31\u4e0d\u8ba8\u8bba\u4e86\uff08\u56e0\u4e3a\u5b83\u9002\u7528\u4e8e\u5e7f\u6cdb\u7684\u4e00\u822c\u521b\u5efa\u65b9\u6cd5\uff09\u3002<br \/>\n\u4e00\u7cfb\u5217\u7684\u6570\u636e\u8f93\u5165\u5de5\u4f5c\u662f\u901a\u8fc7Cloud9\u5b9e\u65bd\u7684\u3002<br \/>\n\u4ee5\u4e0b\u662f\u5728Cloud9\u4e2d\u901a\u8fc7\u6267\u884cmysql &#8211;version\u786e\u8ba4\u5b89\u88c5\u6709mysql\uff0c\u7136\u540e\u8fde\u63a5\u5230XXXXX.ap-northeast-1.rds.amazonaws.com\u5e76\u8f93\u5165\u6570\u636e\u7684\u8fc7\u7a0b\u3002<\/p>\n<pre class=\"post-pre\"><code>$ mysql --version\r\nmysql  Ver 15.1 Distrib 10.2.38-MariaDB, for Linux (x86_64) using  EditLine wrapper\r\n$ mysql -h XXXXX.ap-northeast-1.rds.amazonaws.com -P 3306 -u admin -p\r\nEnter password: \r\nWelcome to the MariaDB monitor.  Commands end with ; or \\g.\r\nYour MySQL connection id is 12\r\nServer version: 8.0.23 Source distribution\r\n\r\nCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.\r\n\r\nType 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.\r\n\r\n&gt; create database food;\r\n&gt; connect food;\r\n&gt; create table fruit (ID varchar(32) UNIQUE,Name varchar(128));\r\n&gt; insert into fruit (ID, Name) values('001' , 'Peach');\r\n&gt; insert into fruit (ID, Name) values('002' , 'Orange');\r\n&gt; select * from fruit;\r\n+------+--------+\r\n| ID   | Name   |\r\n+------+--------+\r\n| 001  | Peach  |\r\n| 002  | Orange |\r\n+------+--------+\r\n2 rows in set (0.01 sec)\r\n<\/code><\/pre>\n<h4>2. EC2\u4e0eCloud9\u914d\u7f6e<\/h4>\n<p>\u5173\u4e8eEC2\u548cCloud9\u7684\u6784\u5efa\uff0c\u7531\u4e8e\u5e7f\u6cdb\u666e\u904d\u7684\u6784\u5efa\u65b9\u6cd5\u5c31\u4e0d\u518d\u8d58\u8ff0\u3002\u767b\u5f55\u540e\uff0c\u5728\u6784\u5efa\u5b8c\u6210\u540e\uff0c\u6211\u4eec\u5c06\u6267\u884c\u4ee5\u4e0b\u7684yum\u547d\u4ee4\u6765\u5b89\u88c5flask\u548cemcached\u6a21\u5757\u3002<\/p>\n<pre class=\"post-pre\"><code>$ pip3 install Flask\r\n$ pip3 install PyMySQL\r\n$ pip3 install python-memcached\r\n<\/code><\/pre>\n<p>\u307e\u305f\u3001\u4eca\u56de\u306fCloud9\u3092\u958b\u767a\u74b0\u5883\u3068\u3057\u3066\u3044\u308b\u305f\u3081\u3001Cloud9\u3067\u4f5c\u6210\u3057\u305f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u914d\u7f6e\u3059\u308b\u306b\u306fscp\u30b3\u30de\u30f3\u30c9\u3092\u5229\u7528\u3057\u3001EC2\u3078\u306e\u30ed\u30b0\u30a4\u30f3\u306b\u95a2\u3057\u3066\u306fssh\u30b3\u30de\u30f3\u30c9\u3067Cloud9\u7d4c\u7531\u3067EC2\u3078\u306e\u30ed\u30b0\u30a4\u30f3\u3092\u884c\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>$ scp -i .\/AWS_TEST.pem -r .\/flask_app ec2-user@10.1.10.110:\/home\/ec2-user \r\n$ ssh -i .\/AWS_TEST.pem ec2-user@10.1.10.110\r\n<\/code><\/pre>\n<h4>3. \u521b\u5efaMemcached<\/h4>\n<p>Amazon ElastiCache Memcached\u306e\u4f5c\u6210\u306e\u4f5c\u6210\u306b\u3064\u3044\u3066\u3067\u3059\u304c\u3001\u3053\u308c\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b1\u753b\u9762\u5165\u529b\u3059\u308b\u3060\u3051\u3067\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002\u300c\u30ad\u30e3\u30c3\u30b7\u30e5\u74b0\u5883\u306e\u4f5c\u6210\u306a\u3093\u3066\u96e3\u3057\u3044\u3093\u3060\u308d\u3046\u306a\u300d\u3068\u304b\u307e\u308b\u3067\u601d\u3046\u5fc5\u8981\u306a\u3044\u3068\u601d\u3044\u307e\u3059\u3002\u4f5c\u308b\u5206\u306b\u306fRDS\u3088\u308a\u7c21\u5358\u306a\u306f\u305a\u3067\u3059\u3002\u30dd\u30a4\u30f3\u30c8\u3068\u3044\u3046\u4e8b\u3082\u7279\u306b\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u30b5\u30d6\u30cd\u30c3\u30c8\u30b0\u30eb\u30fc\u30d7\u304c\u3042\u3063\u305f\u308a\u3084\u3001\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30b5\u30d6\u30cd\u30c3\u30c8\u306b\u914d\u7f6e\u3057\u30d1\u30d6\u30ea\u30c3\u30af\u30b5\u30d6\u30cd\u30c3\u30c8\u306eEC2\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3057\u3066\u304d\u305f\u30c7\u30fc\u30bf\u3092\u8fd4\u305b\u308b\u3088\u3046\u306b\u3059\u308b\u306a\u3069RDS\u306e\u69cb\u7bc9\u3092\u884c\u3046\u3088\u3046\u306b\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/17-0.png\" alt=\"003.PNG\" \/><\/div>\n<h2>\u5173\u4e8e\u6bcf\u4e2a\u7a0b\u5e8f<\/h2>\n<p>\u8fd9\u6b21\u4f7f\u7528\u4e86Python\u7684Flask\u6846\u67b6\u3002<br \/>\n\u9996\u5148\uff0c\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b\u6240\u793a\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/20-0.png\" alt=\"002.PNG\" \/><\/div>\n<pre class=\"post-pre\"><code>flask_app\r\n\u251c\u2500\u2500 app\r\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 app.py\r\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 static\r\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 templates\r\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 hit.html\r\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 index.html\r\n\u2502\u00a0\u00a0     \u2514\u2500\u2500 Nothit.html\r\n\u2514\u2500\u2500 run.py\r\n<\/code><\/pre>\n<p>\u6bcf\u4e2aPython\u548cHTML\u6587\u4ef6\u7684\u5185\u5bb9\u5982\u4e0b\u3002<\/p>\n<h4>1. \u8fd0\u884c.py<\/h4>\n<p>\u901a\u8fc7\u5728Flask\u7684\u6267\u884c\u6216\u542f\u52a8\uff08\u5f00\u59cb\uff09\u6587\u4ef6\u4e2d\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u542f\u52a8\u670d\u52a1\u3002\u6267\u884c\u547d\u4ee4\u540e\uff0c\u53ef\u4ee5\u901a\u8fc7http:\/\/x.x.x.x:5000\u8fdb\u884c\u7f51\u7edc\u8bbf\u95ee\u3002<br \/>\n$ python3 run.py #\u6267\u884c\u547d\u4ee4<\/p>\n<pre class=\"post-pre\"><code><span class=\"kn\">from<\/span> <span class=\"nn\">app.app<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">app<\/span>\r\n\r\n<span class=\"k\">if<\/span> <span class=\"n\">__name__<\/span> <span class=\"o\">==<\/span> <span class=\"s\">\"__main__\"<\/span><span class=\"p\">:<\/span>\r\n    <span class=\"n\">app<\/span><span class=\"p\">.<\/span><span class=\"n\">run<\/span><span class=\"p\">(<\/span><span class=\"n\">host<\/span><span class=\"o\">=<\/span><span class=\"s\">'0.0.0.0'<\/span><span class=\"p\">,<\/span> <span class=\"n\">port<\/span><span class=\"o\">=<\/span><span class=\"s\">'5000'<\/span><span class=\"p\">)<\/span>\r\n<\/code><\/pre>\n<h4>2. \u5e94\u7528\u7a0b\u5e8f.py<\/h4>\n<p>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30d7\u30ed\u30b0\u30e9\u30e0\u30d5\u30a1\u30a4\u30eb\u3067\u3059\u3002<br \/>\n\u305d\u308c\u305e\u308c\u30dd\u30a4\u30f3\u30c8\u306b\u306a\u308a\u305d\u3046\u306a\u70b9\u306f\u30d7\u30ed\u30b0\u30e9\u30e0\u5185\u306b\u30b3\u30e1\u30f3\u30c8\u3092\u5165\u308c\u3066\u304a\u308a\u307e\u3059\u3002<br \/>\n(except\uff5e\uff5e\u306b\u3064\u3044\u3066\u306f\u9069\u5f53\u306b\u4f8b\u5916\u51e6\u7406\u3092\u8a18\u8f09\u3057\u305f\u3060\u3051\u306a\u306e\u3067\u30b3\u30e1\u30f3\u30c8\u5165\u308c\u3066\u306a\u3044\u3067\u3059\u3002\u3002\u3002)<\/p>\n<pre class=\"post-pre\"><code><span class=\"c1\"># import\r\n<\/span><span class=\"kn\">import<\/span> <span class=\"nn\">pymysql.cursors<\/span>\r\n<span class=\"kn\">import<\/span> <span class=\"nn\">memcache<\/span>\r\n<span class=\"kn\">from<\/span> <span class=\"nn\">flask<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">Flask<\/span><span class=\"p\">,<\/span> <span class=\"n\">request<\/span><span class=\"p\">,<\/span> <span class=\"n\">render_template<\/span>\r\n\r\n<span class=\"n\">app<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Flask<\/span><span class=\"p\">(<\/span><span class=\"n\">__name__<\/span><span class=\"p\">)<\/span>\r\n\r\n\r\n<span class=\"c1\">#Memcached\u306e\u5b9a\u7fa9\r\n<\/span><span class=\"n\">cache<\/span> <span class=\"o\">=<\/span> <span class=\"n\">memcache<\/span><span class=\"p\">.<\/span><span class=\"n\">Client<\/span><span class=\"p\">([<\/span><span class=\"s\">'mytest.xxxxxx.cfg.apne1.cache.amazonaws.com:11211'<\/span><span class=\"p\">])<\/span>\r\n\r\n<span class=\"c1\">#\u30c7\u30d5\u30a9\u30eb\u30c8\u30da\u30fc\u30b8\u306e\u6307\u5b9a\r\n<\/span><span class=\"o\">@<\/span><span class=\"n\">app<\/span><span class=\"p\">.<\/span><span class=\"n\">route<\/span><span class=\"p\">(<\/span><span class=\"s\">'\/'<\/span><span class=\"p\">)<\/span>\r\n<span class=\"k\">def<\/span> <span class=\"nf\">index<\/span><span class=\"p\">():<\/span>\r\n    <span class=\"k\">return<\/span> <span class=\"n\">render_template<\/span><span class=\"p\">(<\/span><span class=\"s\">\"index.html\"<\/span><span class=\"p\">)<\/span>\r\n\r\n\r\n<span class=\"c1\">#index.html\u304b\u3089\/kobetsu\u306b\u5bfe\u3057\u3066\u30c7\u30fc\u30bf\u304c\u98db\u3070\u3055\u308c\u305f\u3068\u304d\u306e\u5b9f\u884c\u30d7\u30ed\u30b0\u30e9\u30e0\r\n<\/span><span class=\"o\">@<\/span><span class=\"n\">app<\/span><span class=\"p\">.<\/span><span class=\"n\">route<\/span><span class=\"p\">(<\/span><span class=\"s\">'\/kobetsu'<\/span><span class=\"p\">,<\/span> <span class=\"n\">methods<\/span><span class=\"o\">=<\/span><span class=\"p\">[<\/span><span class=\"s\">'GET'<\/span><span class=\"p\">])<\/span>\r\n<span class=\"k\">def<\/span> <span class=\"nf\">kobetsu<\/span><span class=\"p\">():<\/span>\r\n    <span class=\"n\">ID<\/span> <span class=\"o\">=<\/span> <span class=\"n\">request<\/span><span class=\"p\">.<\/span><span class=\"n\">args<\/span><span class=\"p\">.<\/span><span class=\"n\">get<\/span><span class=\"p\">(<\/span><span class=\"s\">'ID'<\/span><span class=\"p\">)<\/span>\r\n    <span class=\"n\">cachevalue<\/span> <span class=\"o\">=<\/span> <span class=\"n\">cache<\/span><span class=\"p\">.<\/span><span class=\"n\">get<\/span><span class=\"p\">(<\/span><span class=\"nb\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">ID<\/span><span class=\"p\">))<\/span> <span class=\"c1\">#\u30ad\u30e3\u30c3\u30b7\u30e5\u30b5\u30fc\u30d0\u306b\u5bfe\u3057\u3066\u30c7\u30fc\u30bf\u304c\u683c\u7d0d\u3055\u308c\u3066\u3044\u308b\u304b\u3092\u78ba\u8a8d\r\n<\/span>\r\n    <span class=\"k\">if<\/span> <span class=\"n\">cachevalue<\/span><span class=\"p\">:<\/span> <span class=\"c1\"># \u30ad\u30e3\u30c3\u30b7\u30e5\u30b5\u30fc\u30d0\u306b\u30c7\u30fc\u30bf\u304c\u683c\u7d0d\u3055\u308c\u3066\u304a\u308atrue\u72b6\u614b\u3067\u3042\u308c\u3070hit.html\u3092\u8fd4\u3059\r\n<\/span>        <span class=\"k\">return<\/span> <span class=\"n\">render_template<\/span><span class=\"p\">(<\/span><span class=\"s\">'hit.html'<\/span><span class=\"p\">,<\/span> <span class=\"n\">cachevalueID<\/span><span class=\"o\">=<\/span><span class=\"n\">cachevalue<\/span><span class=\"p\">[<\/span><span class=\"s\">'ID'<\/span><span class=\"p\">],<\/span><span class=\"n\">cachevalueName<\/span><span class=\"o\">=<\/span><span class=\"n\">cachevalue<\/span><span class=\"p\">[<\/span><span class=\"s\">'Name'<\/span><span class=\"p\">])<\/span>\r\n    <span class=\"k\">else<\/span><span class=\"p\">:<\/span> <span class=\"c1\">#\u30ad\u30e3\u30c3\u30b7\u30e5\u30b5\u30fc\u30d0\u306b\u30c7\u30fc\u30bf\u304c\u683c\u7d0d\u3055\u308c\u3066\u304a\u3089\u305afalse\u72b6\u614b\u3067\u3042\u308c\u3070RDS\u306b\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u306b\u884c\u304f\r\n<\/span>        <span class=\"n\">connection<\/span> <span class=\"o\">=<\/span> <span class=\"n\">pymysql<\/span><span class=\"p\">.<\/span><span class=\"n\">connect<\/span><span class=\"p\">(<\/span><span class=\"n\">host<\/span><span class=\"o\">=<\/span><span class=\"s\">'xxxxxx.xxxxxx.ap-northeast-1.rds.amazonaws.com'<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"n\">user<\/span><span class=\"o\">=<\/span><span class=\"s\">'admin'<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"n\">password<\/span><span class=\"o\">=<\/span><span class=\"s\">'1qaz2wsx'<\/span><span class=\"p\">,<\/span><span class=\"c1\"># \u8106\u5f31\u306a\u30d1\u30b9\u30ef\u30fc\u30c9\u2190?\r\n<\/span>        <span class=\"n\">db<\/span><span class=\"o\">=<\/span><span class=\"s\">'food'<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"n\">charset<\/span><span class=\"o\">=<\/span><span class=\"s\">'utf8'<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"n\">cursorclass<\/span><span class=\"o\">=<\/span><span class=\"n\">pymysql<\/span><span class=\"p\">.<\/span><span class=\"n\">cursors<\/span><span class=\"p\">.<\/span><span class=\"n\">DictCursor<\/span><span class=\"p\">)<\/span>\r\n    <span class=\"k\">try<\/span><span class=\"p\">:<\/span>\r\n        <span class=\"k\">with<\/span> <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"n\">cursor<\/span><span class=\"p\">()<\/span> <span class=\"k\">as<\/span> <span class=\"n\">cursor<\/span><span class=\"p\">:<\/span>\r\n            <span class=\"n\">sql<\/span> <span class=\"o\">=<\/span> <span class=\"s\">'SELECT * FROM fruit where ID=\"%s\"'<\/span> <span class=\"o\">%<\/span><span class=\"p\">(<\/span><span class=\"n\">ID<\/span><span class=\"p\">)<\/span>\r\n            <span class=\"n\">cursor<\/span><span class=\"p\">.<\/span><span class=\"n\">execute<\/span><span class=\"p\">(<\/span><span class=\"n\">sql<\/span><span class=\"p\">)<\/span>\r\n            <span class=\"n\">results<\/span> <span class=\"o\">=<\/span> <span class=\"n\">cursor<\/span><span class=\"p\">.<\/span><span class=\"n\">fetchall<\/span><span class=\"p\">()<\/span>\r\n            <span class=\"k\">if<\/span> <span class=\"n\">results<\/span><span class=\"p\">:<\/span>\r\n                <span class=\"k\">for<\/span> <span class=\"n\">r<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">results<\/span><span class=\"p\">:<\/span>\r\n                    <span class=\"n\">cache<\/span><span class=\"p\">.<\/span><span class=\"nb\">set<\/span><span class=\"p\">(<\/span><span class=\"nb\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">ID<\/span><span class=\"p\">)<\/span> <span class=\"p\">,<\/span><span class=\"n\">r<\/span> <span class=\"p\">,<\/span><span class=\"n\">time<\/span><span class=\"o\">=<\/span><span class=\"mi\">600<\/span><span class=\"p\">)<\/span> <span class=\"c1\"># index.html\u304b\u3089\u98db\u3070\u3055\u308c\u305fID\u306b\u5bfe\u3057\u3066\u51fa\u529b\u3055\u308c\u305f\u7d50\u679c\u3092key:ID value:r \u3068\u3057\u3066\u30ad\u30e3\u30c3\u30b7\u30e5\u30b5\u30fc\u30d0\u306b\u683c\u7d0d\u3002time\u306f\u30ad\u30e3\u30c3\u30b7\u30e5\u30b5\u30fc\u30d0\u306e\u30c7\u30fc\u30bf\u4fdd\u6709\u6642\u9593\r\n<\/span>                    <span class=\"k\">return<\/span> <span class=\"n\">render_template<\/span><span class=\"p\">(<\/span><span class=\"s\">'Nothit.html'<\/span><span class=\"p\">,<\/span> <span class=\"n\">resultsID<\/span><span class=\"o\">=<\/span><span class=\"n\">r<\/span><span class=\"p\">[<\/span><span class=\"s\">'ID'<\/span><span class=\"p\">],<\/span> <span class=\"n\">resultsName<\/span><span class=\"o\">=<\/span><span class=\"n\">r<\/span><span class=\"p\">[<\/span><span class=\"s\">'Name'<\/span><span class=\"p\">])<\/span> <span class=\"c1\"># Nothit.html\u3092\u8fd4\u3059\r\n<\/span>            <span class=\"k\">else<\/span><span class=\"p\">:<\/span>\r\n                <span class=\"k\">raise<\/span> <span class=\"nb\">TypeError<\/span><span class=\"p\">()<\/span>\r\n    <span class=\"k\">except<\/span> <span class=\"nb\">TypeError<\/span><span class=\"p\">:<\/span> <span class=\"c1\">#\u30a8\u30e9\u30fc\u51e6\u7406\u306f\u7d50\u69cb\u9069\u5f53\u3067\u3059\u3002\r\n<\/span>        <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"n\">rollback<\/span><span class=\"p\">()<\/span>\r\n        <span class=\"k\">return<\/span> <span class=\"s\">'No ID!!!'<\/span>\r\n    <span class=\"k\">except<\/span> <span class=\"nb\">Exception<\/span> <span class=\"k\">as<\/span> <span class=\"n\">error<\/span><span class=\"p\">:<\/span>\r\n        <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"n\">rollback<\/span><span class=\"p\">()<\/span>\r\n        <span class=\"k\">return<\/span> <span class=\"s\">'Please call jimbot 080-XXXX-XXXX'<\/span><span class=\"p\">,<\/span> <span class=\"n\">error<\/span><span class=\"p\">.<\/span><span class=\"n\">args<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span>\r\n    <span class=\"k\">finally<\/span><span class=\"p\">:<\/span>\r\n        <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"n\">close<\/span><span class=\"p\">()<\/span>\r\n\r\n<span class=\"c1\">#index.html\u304b\u3089\/touroku\u306b\u5bfe\u3057\u3066\u30c7\u30fc\u30bf\u304c\u98db\u3070\u3055\u308c\u305f\u3068\u304d\u306e\u5b9f\u884c\u30d7\u30ed\u30b0\u30e9\u30e0\r\n<\/span><span class=\"o\">@<\/span><span class=\"n\">app<\/span><span class=\"p\">.<\/span><span class=\"n\">route<\/span><span class=\"p\">(<\/span><span class=\"s\">'\/touroku'<\/span><span class=\"p\">,<\/span> <span class=\"n\">methods<\/span><span class=\"o\">=<\/span><span class=\"p\">[<\/span><span class=\"s\">'POST'<\/span><span class=\"p\">])<\/span>\r\n<span class=\"k\">def<\/span> <span class=\"nf\">touroku<\/span><span class=\"p\">():<\/span>\r\n    <span class=\"n\">ID<\/span> <span class=\"o\">=<\/span> <span class=\"n\">request<\/span><span class=\"p\">.<\/span><span class=\"n\">form<\/span><span class=\"p\">[<\/span><span class=\"s\">\"ID\"<\/span><span class=\"p\">]<\/span>\r\n    <span class=\"n\">Name<\/span> <span class=\"o\">=<\/span> <span class=\"n\">request<\/span><span class=\"p\">.<\/span><span class=\"n\">form<\/span><span class=\"p\">[<\/span><span class=\"s\">\"Name\"<\/span><span class=\"p\">]<\/span>\r\n\r\n    <span class=\"n\">cache<\/span><span class=\"p\">.<\/span><span class=\"n\">flush_all<\/span><span class=\"p\">()<\/span> <span class=\"c1\">#\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u524a\u9664\u3092\u884c\u3046\u3002\u3053\u308c\u306f\u3001\u767b\u9332\u3057\u305f\u5f8c\u3082\u30ad\u30e3\u30c3\u30b7\u30e5\u304c\u6b8b\u308a\u7d9a\u3051\u3066\u3044\u305f\u3089\u30e6\u30fc\u30b6\u304c\u767b\u9332\u3055\u308c\u3066\u3044\u306a\u3044\u3068\u8aa4\u8a8d\u3059\u308b\u306e\u3092\u9632\u3050\u305f\u3081\u3002\r\n<\/span>\r\n    <span class=\"n\">connection<\/span> <span class=\"o\">=<\/span> <span class=\"n\">pymysql<\/span><span class=\"p\">.<\/span><span class=\"n\">connect<\/span><span class=\"p\">(<\/span><span class=\"n\">host<\/span><span class=\"o\">=<\/span><span class=\"s\">'xxxxxx.xxxxxx.ap-northeast-1.rds.amazonaws.com'<\/span><span class=\"p\">,<\/span>\r\n    <span class=\"n\">user<\/span><span class=\"o\">=<\/span><span class=\"s\">'admin'<\/span><span class=\"p\">,<\/span>\r\n    <span class=\"n\">password<\/span><span class=\"o\">=<\/span><span class=\"s\">'1qaz2wsx'<\/span><span class=\"p\">,<\/span><span class=\"c1\"># \u8106\u5f31\u306a\u30d1\u30b9\u30ef\u30fc\u30c9\u2190?\r\n<\/span>    <span class=\"n\">db<\/span><span class=\"o\">=<\/span><span class=\"s\">'food'<\/span><span class=\"p\">,<\/span>\r\n    <span class=\"n\">charset<\/span><span class=\"o\">=<\/span><span class=\"s\">'utf8'<\/span><span class=\"p\">,<\/span>\r\n    <span class=\"n\">cursorclass<\/span><span class=\"o\">=<\/span><span class=\"n\">pymysql<\/span><span class=\"p\">.<\/span><span class=\"n\">cursors<\/span><span class=\"p\">.<\/span><span class=\"n\">DictCursor<\/span><span class=\"p\">)<\/span>\r\n    <span class=\"k\">try<\/span><span class=\"p\">:<\/span>\r\n        <span class=\"k\">with<\/span> <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"n\">cursor<\/span><span class=\"p\">()<\/span> <span class=\"k\">as<\/span> <span class=\"n\">cursor<\/span><span class=\"p\">:<\/span>\r\n            <span class=\"n\">sql<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"INSERT INTO fruit (ID, Name) VALUES (%s, %s)\"<\/span>\r\n            <span class=\"n\">cursor<\/span><span class=\"p\">.<\/span><span class=\"n\">execute<\/span><span class=\"p\">(<\/span><span class=\"n\">sql<\/span><span class=\"p\">,<\/span> <span class=\"p\">(<\/span><span class=\"n\">ID<\/span><span class=\"p\">,<\/span><span class=\"n\">Name<\/span><span class=\"p\">))<\/span>\r\n        <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"n\">commit<\/span><span class=\"p\">()<\/span>\r\n        <span class=\"k\">return<\/span> <span class=\"s\">'Welcome ID :  '<\/span>  <span class=\"o\">+<\/span> <span class=\"nb\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">ID<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span><span class=\"s\">'!!!'<\/span>\r\n    <span class=\"k\">except<\/span> <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"n\">IntegrityError<\/span><span class=\"p\">:<\/span> <span class=\"c1\">#\u30a8\u30e9\u30fc\u51e6\u7406\u306f\u7d50\u69cb\u9069\u5f53\u3067\u3059\u3002\r\n<\/span>        <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"n\">rollback<\/span><span class=\"p\">()<\/span>\r\n        <span class=\"k\">return<\/span> <span class=\"s\">'MemberID already exists!!! Please try update command and put option.'<\/span>\r\n    <span class=\"k\">except<\/span> <span class=\"nb\">NameError<\/span><span class=\"p\">:<\/span>\r\n        <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"n\">rollback<\/span><span class=\"p\">()<\/span>\r\n        <span class=\"k\">return<\/span> <span class=\"s\">'There is a mistake in the value you entered. Please enter <\/span><span class=\"se\">\\'<\/span><span class=\"s\">ID<\/span><span class=\"se\">\\'<\/span><span class=\"s\">,Name '<\/span>\r\n    <span class=\"k\">except<\/span> <span class=\"nb\">Exception<\/span> <span class=\"k\">as<\/span> <span class=\"n\">error<\/span><span class=\"p\">:<\/span>\r\n        <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"n\">rollback<\/span><span class=\"p\">()<\/span>\r\n        <span class=\"k\">return<\/span> <span class=\"s\">'Please call jimbot 080-XXXX-XXXX'<\/span><span class=\"p\">,<\/span> <span class=\"n\">error<\/span><span class=\"p\">.<\/span><span class=\"n\">args<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span>\r\n    <span class=\"k\">finally<\/span><span class=\"p\">:<\/span>\r\n        <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"n\">close<\/span><span class=\"p\">()<\/span>\r\n\r\n<span class=\"c1\">#index.html\u304b\u3089\/taberareta\u306b\u5bfe\u3057\u3066\u30c7\u30fc\u30bf\u304c\u98db\u3070\u3055\u308c\u305f\u3068\u304d\u306e\u5b9f\u884c\u30d7\u30ed\u30b0\u30e9\u30e0\r\n<\/span><span class=\"o\">@<\/span><span class=\"n\">app<\/span><span class=\"p\">.<\/span><span class=\"n\">route<\/span><span class=\"p\">(<\/span><span class=\"s\">'\/taberareta'<\/span><span class=\"p\">,<\/span> <span class=\"n\">methods<\/span><span class=\"o\">=<\/span><span class=\"p\">[<\/span><span class=\"s\">'POST'<\/span><span class=\"p\">])<\/span>\r\n<span class=\"k\">def<\/span> <span class=\"nf\">taberareta<\/span><span class=\"p\">():<\/span>\r\n    <span class=\"n\">ID<\/span> <span class=\"o\">=<\/span> <span class=\"n\">request<\/span><span class=\"p\">.<\/span><span class=\"n\">form<\/span><span class=\"p\">[<\/span><span class=\"s\">\"ID\"<\/span><span class=\"p\">]<\/span>\r\n\r\n    <span class=\"n\">cache<\/span><span class=\"p\">.<\/span><span class=\"n\">flush_all<\/span><span class=\"p\">()<\/span><span class=\"c1\">#\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u524a\u9664\u3092\u884c\u3046\u3002\u3053\u308c\u306f\u3001\u524a\u9664\u3057\u305f\u5f8c\u3082\u30ad\u30e3\u30c3\u30b7\u30e5\u304c\u6b8b\u308a\u7d9a\u3051\u3066\u3044\u305f\u3089\u30e6\u30fc\u30b6\u304c\u524a\u9664\u3055\u308c\u3066\u3044\u306a\u3044\u3068\u8aa4\u8a8d\u3059\u308b\u306e\u3092\u9632\u3050\u305f\u3081\u3002\r\n<\/span>\r\n    <span class=\"n\">connection<\/span> <span class=\"o\">=<\/span> <span class=\"n\">pymysql<\/span><span class=\"p\">.<\/span><span class=\"n\">connect<\/span><span class=\"p\">(<\/span><span class=\"n\">host<\/span><span class=\"o\">=<\/span><span class=\"s\">'xxxxxx.xxxxxx.ap-northeast-1.rds.amazonaws.com'<\/span><span class=\"p\">,<\/span>\r\n    <span class=\"n\">user<\/span><span class=\"o\">=<\/span><span class=\"s\">'admin'<\/span><span class=\"p\">,<\/span>\r\n    <span class=\"n\">password<\/span><span class=\"o\">=<\/span><span class=\"s\">'1qaz2wsx'<\/span><span class=\"p\">,<\/span><span class=\"c1\"># \u8106\u5f31\u306a\u30d1\u30b9\u30ef\u30fc\u30c9\u2190?\r\n<\/span>    <span class=\"n\">db<\/span><span class=\"o\">=<\/span><span class=\"s\">'food'<\/span><span class=\"p\">,<\/span>\r\n    <span class=\"n\">charset<\/span><span class=\"o\">=<\/span><span class=\"s\">'utf8'<\/span><span class=\"p\">,<\/span>\r\n    <span class=\"n\">cursorclass<\/span><span class=\"o\">=<\/span><span class=\"n\">pymysql<\/span><span class=\"p\">.<\/span><span class=\"n\">cursors<\/span><span class=\"p\">.<\/span><span class=\"n\">DictCursor<\/span><span class=\"p\">)<\/span>\r\n    <span class=\"k\">try<\/span><span class=\"p\">:<\/span>\r\n        <span class=\"k\">with<\/span> <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"n\">cursor<\/span><span class=\"p\">()<\/span> <span class=\"k\">as<\/span> <span class=\"n\">cursor<\/span><span class=\"p\">:<\/span>\r\n            <span class=\"n\">sql<\/span> <span class=\"o\">=<\/span> <span class=\"s\">'SELECT * FROM fruit where ID=\"%s\"'<\/span> <span class=\"o\">%<\/span><span class=\"p\">(<\/span><span class=\"n\">ID<\/span><span class=\"p\">)<\/span>\r\n            <span class=\"n\">cursor<\/span><span class=\"p\">.<\/span><span class=\"n\">execute<\/span><span class=\"p\">(<\/span><span class=\"n\">sql<\/span><span class=\"p\">)<\/span>\r\n            <span class=\"n\">results<\/span> <span class=\"o\">=<\/span> <span class=\"n\">cursor<\/span><span class=\"p\">.<\/span><span class=\"n\">fetchall<\/span><span class=\"p\">()<\/span>\r\n            <span class=\"k\">if<\/span> <span class=\"n\">results<\/span><span class=\"p\">:<\/span>\r\n                <span class=\"n\">sql<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"DELETE FROM fruit WHERE ID = '%s'\"<\/span> <span class=\"o\">%<\/span><span class=\"p\">(<\/span><span class=\"n\">ID<\/span><span class=\"p\">)<\/span>\r\n                <span class=\"n\">cursor<\/span><span class=\"p\">.<\/span><span class=\"n\">execute<\/span><span class=\"p\">(<\/span><span class=\"n\">sql<\/span><span class=\"p\">)<\/span>\r\n                <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"n\">commit<\/span><span class=\"p\">()<\/span>\r\n                <span class=\"k\">return<\/span> <span class=\"s\">'Delete ID :  '<\/span>  <span class=\"o\">+<\/span> <span class=\"nb\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">ID<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span><span class=\"s\">' (T_T)'<\/span>\r\n            <span class=\"k\">else<\/span><span class=\"p\">:<\/span>\r\n                <span class=\"k\">raise<\/span> <span class=\"nb\">TypeError<\/span><span class=\"p\">()<\/span>\r\n    <span class=\"k\">except<\/span> <span class=\"nb\">TypeError<\/span><span class=\"p\">:<\/span>  <span class=\"c1\">#\u30a8\u30e9\u30fc\u51e6\u7406\u306f\u7d50\u69cb\u9069\u5f53\u3067\u3059\u3002\r\n<\/span>        <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"n\">rollback<\/span><span class=\"p\">()<\/span>\r\n        <span class=\"k\">return<\/span> <span class=\"s\">'No ID!!!'<\/span>\r\n    <span class=\"k\">except<\/span> <span class=\"nb\">Exception<\/span> <span class=\"k\">as<\/span> <span class=\"n\">error<\/span><span class=\"p\">:<\/span>\r\n        <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"n\">rollback<\/span><span class=\"p\">()<\/span>\r\n        <span class=\"k\">return<\/span> <span class=\"s\">'Please call jimbot 080-XXXX-XXXX'<\/span><span class=\"p\">,<\/span> <span class=\"n\">error<\/span><span class=\"p\">.<\/span><span class=\"n\">args<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span>\r\n    <span class=\"k\">finally<\/span><span class=\"p\">:<\/span>\r\n        <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"n\">close<\/span><span class=\"p\">()<\/span>\r\n\r\n<\/code><\/pre>\n<h4>3.\u7d22\u5f15.html<\/h4>\n<p>\u8fd9\u662f\u9876\u5c42\u754c\u9762\u3002\u76f8\u5f53\u968f\u610f\u3002\u4e0d\uff0c\u975e\u5e38\u968f\u610f\u3002<br \/>\n\u5728\u6bcf\u4e2a\u8868\u5355\u5185\u8f93\u5165\u503c\u5e76\u6309\u4e0b\u201c\u53d1\u9001\u6570\u636e\u201d\u6309\u94ae\uff0c\u4f1a\u5c06\u6570\u636e\u4f20\u9012\u5230app.py\u5185\u7684&#8221;\/touroku&#8221;\uff0c&#8221;\/kobetsu&#8221;\uff0c&#8221;\/taberareta&#8221;\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nt\">&lt;html&gt;<\/span>\r\n<span class=\"nt\">&lt;head&gt;<\/span> <span class=\"nt\">&lt;\/head&gt;<\/span>\r\n<span class=\"nt\">&lt;table<\/span> <span class=\"na\">border=<\/span><span class=\"s\">\"0\"<\/span><span class=\"nt\">&gt;<\/span>\r\n  <span class=\"nt\">&lt;body&gt;<\/span>\r\n    <span class=\"nt\">&lt;h1&gt;<\/span>Welcome to Fruit Data<span class=\"nt\">&lt;\/h1&gt;<\/span>\r\n    <span class=\"nt\">&lt;hr&gt;<\/span>\r\n    <span class=\"nt\">&lt;form<\/span> <span class=\"na\">action=<\/span><span class=\"s\">\"\/touroku\"<\/span> <span class=\"na\">method=<\/span><span class=\"s\">\"POST\"<\/span><span class=\"nt\">&gt;<\/span>\r\n      <span class=\"nt\">&lt;table<\/span> <span class=\"na\">border=<\/span><span class=\"s\">\"2\"<\/span><span class=\"nt\">&gt;<\/span>\r\n        <span class=\"nt\">&lt;h3&gt;<\/span>Add Fruit Information Data<span class=\"nt\">&lt;\/h3&gt;<\/span>\r\n        <span class=\"nt\">&lt;tr&gt;<\/span>\r\n          <span class=\"nt\">&lt;td<\/span> <span class=\"na\">align=<\/span><span class=\"s\">\"right\"<\/span><span class=\"nt\">&gt;&lt;b&gt;<\/span> ID:<span class=\"nt\">&lt;\/b&gt;&lt;\/td&gt;<\/span>\r\n          <span class=\"nt\">&lt;td&gt;&lt;input<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"text\"<\/span> <span class=\"na\">name=<\/span><span class=\"s\">\"ID\"<\/span> <span class=\"na\">size=<\/span><span class=\"s\">\"3\"<\/span> <span class=\"na\">maxlength=<\/span><span class=\"s\">\"3\"<\/span><span class=\"nt\">&gt;&lt;\/td&gt;<\/span>\r\n        <span class=\"nt\">&lt;\/tr&gt;<\/span>\r\n        <span class=\"nt\">&lt;tr&gt;<\/span>\r\n          <span class=\"nt\">&lt;td<\/span> <span class=\"na\">align=<\/span><span class=\"s\">\"right\"<\/span><span class=\"nt\">&gt;&lt;b&gt;<\/span> Name:<span class=\"nt\">&lt;\/b&gt;&lt;\/td&gt;<\/span>\r\n          <span class=\"nt\">&lt;td&gt;&lt;input<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"text\"<\/span> <span class=\"na\">name=<\/span><span class=\"s\">\"Name\"<\/span> <span class=\"na\">size=<\/span><span class=\"s\">\"30\"<\/span> <span class=\"na\">maxlength=<\/span><span class=\"s\">\"30\"<\/span><span class=\"nt\">&gt;&lt;\/td&gt;<\/span>\r\n        <span class=\"nt\">&lt;\/tr&gt;<\/span>\r\n      <span class=\"nt\">&lt;\/table&gt;<\/span>\r\n      <span class=\"nt\">&lt;td&gt;<\/span> <span class=\"nt\">&lt;input<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"submit\"<\/span> <span class=\"na\">value=<\/span><span class=\"s\">\"Send Data\"<\/span><span class=\"nt\">&gt;<\/span> <span class=\"nt\">&lt;input<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"reset\"<\/span> <span class=\"na\">value=<\/span><span class=\"s\">\"Reset\"<\/span><span class=\"nt\">&gt;<\/span> <span class=\"nt\">&lt;\/td&gt;<\/span>\r\n    <span class=\"nt\">&lt;\/form&gt;<\/span> <span class=\"nt\">&lt;br&gt;<\/span> <span class=\"nt\">&lt;br&gt;<\/span>\r\n    <span class=\"nt\">&lt;form<\/span> <span class=\"na\">action=<\/span><span class=\"s\">\"\/kobetsu\"<\/span> <span class=\"na\">method=<\/span><span class=\"s\">\"Get\"<\/span><span class=\"nt\">&gt;<\/span>\r\n      <span class=\"nt\">&lt;table<\/span> <span class=\"na\">border=<\/span><span class=\"s\">\"2\"<\/span><span class=\"nt\">&gt;<\/span>\r\n        <span class=\"nt\">&lt;h3&gt;<\/span>Get a Fruit Information Data<span class=\"nt\">&lt;\/h3&gt;<\/span>\r\n        <span class=\"nt\">&lt;tr&gt;<\/span>\r\n          <span class=\"nt\">&lt;td<\/span> <span class=\"na\">align=<\/span><span class=\"s\">\"right\"<\/span><span class=\"nt\">&gt;&lt;b&gt;<\/span> ID:<span class=\"nt\">&lt;\/b&gt;&lt;\/td&gt;<\/span>\r\n          <span class=\"nt\">&lt;td&gt;&lt;input<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"text\"<\/span> <span class=\"na\">name=<\/span><span class=\"s\">\"ID\"<\/span> <span class=\"na\">size=<\/span><span class=\"s\">\"3\"<\/span> <span class=\"na\">maxlength=<\/span><span class=\"s\">\"3\"<\/span><span class=\"nt\">&gt;&lt;\/td&gt;<\/span>\r\n        <span class=\"nt\">&lt;\/tr&gt;<\/span>\r\n      <span class=\"nt\">&lt;\/table&gt;<\/span>\r\n      <span class=\"nt\">&lt;td&gt;<\/span> <span class=\"nt\">&lt;input<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"submit\"<\/span> <span class=\"na\">value=<\/span><span class=\"s\">\"Send Data\"<\/span><span class=\"nt\">&gt;<\/span> <span class=\"nt\">&lt;input<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"reset\"<\/span> <span class=\"na\">value=<\/span><span class=\"s\">\"Reset\"<\/span><span class=\"nt\">&gt;<\/span> <span class=\"nt\">&lt;\/td&gt;<\/span>\r\n    <span class=\"nt\">&lt;\/form&gt;<\/span> <span class=\"nt\">&lt;br&gt;<\/span>\r\n    <span class=\"nt\">&lt;form<\/span> <span class=\"na\">action=<\/span><span class=\"s\">\"\/taberareta\"<\/span> <span class=\"na\">method=<\/span><span class=\"s\">\"POST\"<\/span><span class=\"nt\">&gt;<\/span>\r\n      <span class=\"nt\">&lt;table<\/span> <span class=\"na\">border=<\/span><span class=\"s\">\"2\"<\/span><span class=\"nt\">&gt;<\/span>\r\n        <span class=\"nt\">&lt;h3&gt;<\/span>Delete Fruit Data (T_T) <span class=\"nt\">&lt;\/h3&gt;<\/span>\r\n        <span class=\"nt\">&lt;tr&gt;<\/span>\r\n          <span class=\"nt\">&lt;td<\/span> <span class=\"na\">align=<\/span><span class=\"s\">\"right\"<\/span><span class=\"nt\">&gt;&lt;b&gt;<\/span> ID:<span class=\"nt\">&lt;\/b&gt;&lt;\/td&gt;<\/span>\r\n          <span class=\"nt\">&lt;td&gt;&lt;input<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"text\"<\/span> <span class=\"na\">name=<\/span><span class=\"s\">\"ID\"<\/span> <span class=\"na\">size=<\/span><span class=\"s\">\"3\"<\/span> <span class=\"na\">maxlength=<\/span><span class=\"s\">\"3\"<\/span><span class=\"nt\">&gt;&lt;\/td&gt;<\/span>\r\n        <span class=\"nt\">&lt;\/tr&gt;<\/span>\r\n      <span class=\"nt\">&lt;\/table&gt;<\/span>\r\n      <span class=\"nt\">&lt;td&gt;<\/span> <span class=\"nt\">&lt;input<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"submit\"<\/span> <span class=\"na\">value=<\/span><span class=\"s\">\"Send Data\"<\/span><span class=\"nt\">&gt;<\/span> <span class=\"nt\">&lt;input<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"reset\"<\/span> <span class=\"na\">value=<\/span><span class=\"s\">\"Reset\"<\/span><span class=\"nt\">&gt;<\/span> <span class=\"nt\">&lt;\/td&gt;<\/span>\r\n    <span class=\"nt\">&lt;\/form&gt;<\/span>\r\n  <span class=\"nt\">&lt;\/body&gt;<\/span>\r\n<span class=\"nt\">&lt;\/html&gt;<\/span>\r\n<\/code><\/pre>\n<h4>4.\u70b9\u51fb.html<\/h4>\n<p>\u8fd9\u662f\u8fd4\u56de\u5f53\u7f13\u5b58\u547d\u4e2d\u65f6\u663e\u793a\u7684\u9875\u9762\u3002<br \/>\n\u8fd9\u662f\u5728app.py\u4e2d\u4f7f\u7528\u3010return render_template\uff08&#8217;hit.html&#8217;\uff0ccachevalueID = cachevalue [&#8216;ID&#8217;]\uff0ccachevalueName = cachevalue [&#8216;Name&#8217;]\uff09\u3011\u8fd4\u56de\u7684\u9875\u9762\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nt\">&lt;head&gt;<\/span>\r\n<span class=\"nt\">&lt;\/head&gt;<\/span>\r\n<span class=\"nt\">&lt;body&gt;<\/span>\r\n  <span class=\"nt\">&lt;h1&gt;<\/span>hit!!!  ID {{ cachevalueID }} \u306f {{ cachevalueName }} \u3067\u3059\u3002<span class=\"nt\">&lt;\/h1&gt;<\/span>\r\n<span class=\"nt\">&lt;\/body&gt;<\/span>\r\n<\/code><\/pre>\n<h4>5. \u6ca1\u6709\u88ab\u51fb\u4e2d\u7684HTML\u7f51\u9875<\/h4>\n<p>\u5f53\u7f13\u5b58\u672a\u547d\u4e2d\u65f6\uff0c\u8fd4\u56de\u7684\u9875\u9762\u662f\u7531app.py\u4e2d\u7684\u3010return render_template(&#8216;Nothit.html&#8217;, resultsID=r[&#8216;ID&#8217;], resultsName=r[&#8216;Name&#8217;])\u3011\u6240\u8fd4\u56de\u7684\u9875\u9762\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nt\">&lt;head&gt;<\/span>\r\n<span class=\"nt\">&lt;\/head&gt;<\/span>\r\n<span class=\"nt\">&lt;body&gt;<\/span>\r\n  <span class=\"nt\">&lt;h1&gt;<\/span>Nothit...  ID {{ resultsID }} \u306f {{ resultsName }} \u3067\u3059\u3002 <span class=\"nt\">&lt;\/h1&gt;<\/span>\r\n<span class=\"nt\">&lt;\/body&gt;<\/span>\r\n<\/code><\/pre>\n<p>\u7531\u4e8e\u4ee5\u4e0bURL\u4e2d\u6240\u63d0\u4f9b\u7684\u8bf4\u660e\u975e\u5e38\u6613\u61c2\uff0c\u5305\u62ec\u6784\u6210\u548c\u6bcf\u4e2a\u6587\u4ef6\u7684\u5185\u5bb9\uff0c\u8bf7\u70b9\u51fb\u94fe\u63a5\u67e5\u770b\u3002<br \/>\nhttps:\/\/qiita.com\/kiyokiyo_kzsby\/items\/0184973e9de0ea9011ed<\/p>\n<h3>\u7f13\u5b58\u529f\u80fd\u6d4b\u8bd5<\/h3>\n<p>\u6211\u4eec\u5c06\u5bf9\u7f13\u5b58\u7684\u8fd0\u4f5c\u8fdb\u884c\u6d4b\u8bd5\uff0c\u4ee5\u53ca\u5176\u4ed6\u529f\u80fd\u8fdb\u884c\u6d4b\u8bd5\u3002<br \/>\n\u6d4b\u8bd5\u5c06\u6309\u7167\u4ee5\u4e0b\u987a\u5e8f\u8fdb\u884c\u3002<\/p>\n<pre class=\"post-pre\"><code>1.\u30d5\u30eb\u30fc\u30c4\u500b\u5225\u691c\u7d22(hit\u306a\u3057)\r\n2.\u30d5\u30eb\u30fc\u30c4\u500b\u5225\u691c\u7d22(hit\u3042\u308a)\r\n3.\u30d5\u30eb\u30fc\u30c4\u8ffd\u52a0\r\n4.\u30d5\u30eb\u30fc\u30c4\u500b\u5225\u691c\u7d22(3\u306e\u8ffd\u52a0\u6642\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u30af\u30ea\u30a2\u3055\u308c\u305f\u305f\u3081hit\u306a\u3057)\r\n5.\u30d5\u30eb\u30fc\u30c4\u500b\u5225\u691c\u7d22(hit\u3042\u308a)\r\n6.3\u3067\u8ffd\u52a0\u3057\u305f\u30d5\u30eb\u30fc\u30c4\u306e\u500b\u5225\u691c\u7d22\r\n7.3\u3067\u8ffd\u52a0\u3057\u305f\u30d5\u30eb\u30fc\u30c4\u306e\u524a\u9664\r\n8.3\u3067\u8ffd\u52a0\u3057\u305f\u30d5\u30eb\u30fc\u30c4\u3092\u691c\u7d22\u3057\u30c7\u30fc\u30bf\u306a\u3057\r\n9.\u30d5\u30eb\u30fc\u30c4\u500b\u5225\u691c\u7d22(6\u306e\u524a\u9664\u6642\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u30af\u30ea\u30a2\u3055\u308c\u305f\u305f\u3081hit\u306a\u3057)\r\n<\/code><\/pre>\n<h4>0. \u9876\u90e8\u7684\u753b\u9762\u662f\u8fd9\u6837\u7684\u3002<\/h4>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/43-0.png\" alt=\"top.PNG\" \/><\/div>\n<h4>1. \u6c34\u679c\u5355\u72ec\u641c\u7d22\uff08\u65e0\u7ed3\u679c\uff09<\/h4>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/45-0.png\" alt=\"kekka_001.PNG\" \/><\/div>\n<h4>2. \u67e5\u8be2\u6c34\u679c\uff08\u6709\u7ed3\u679c\uff09\u3002<\/h4>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/47-0.png\" alt=\"kekka_002.PNG\" \/><\/div>\n<h4>3. \u6dfb\u52a0\u6c34\u679c<\/h4>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/49-0.png\" alt=\"kekka_003_1.PNG\" \/><\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/50-0.png\" alt=\"kekka_003_2.PNG\" \/><\/div>\n<h4>4. \u5728\u6dfb\u52a0\u7b2c\u4e09\u4e2a\u6c34\u679c\u65f6\uff0c\u7531\u4e8e\u7f13\u5b58\u88ab\u6e05\u9664\uff0c\u6240\u4ee5\u65e0\u6cd5\u8fdb\u884c\u6c34\u679c\u7684\u5355\u72ec\u641c\u7d22\u3002<\/h4>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/52-0.png\" alt=\"kekka_004.PNG\" \/><\/div>\n<h4>5. \u6c34\u679c\u4e2a\u522b\u641c\u7d22\uff08\u6709\u7ed3\u679c\uff09<\/h4>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/54-0.png\" alt=\"kekka_005.PNG\" \/><\/div>\n<h4>6.3\u7248\u672c\u65b0\u589e\u4e86\u6c34\u679c\u7684\u4e2a\u522b\u641c\u7d22\u529f\u80fd\u3002<\/h4>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/56-0.png\" alt=\"kekka_006_1.PNG\" \/><\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/57-0.png\" alt=\"kekka_006_2.PNG\" \/><\/div>\n<h4>\u5220\u9664\u4e86\u57287.3\u7248\u672c\u4e2d\u6dfb\u52a0\u7684\u6c34\u679c\u3002<\/h4>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/59-0.png\" alt=\"kekka_007_1.PNG\" \/><\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/60-0.png\" alt=\"kekka_007_2.PNG\" \/><\/div>\n<h4>\u57288\u67083\u65e5\u65b0\u589e\u7684\u6c34\u679c\u4e2d\u641c\u7d22\u5e76\u627e\u4e0d\u5230\u6570\u636e\u3002<\/h4>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/62-0.png\" alt=\"kekka_008_1.PNG\" \/><\/div>\n<p>\u786e\u8ba4\u4e0d\u5b58\u5728\u5df2\u5220\u9664\u7684ID\u3002\u6211\u4eec\u6b63\u5728\u6355\u83b7\u5e76\u8fd4\u56de\u5230\u5c4f\u5e55\u4e0a\u7684\u9519\u8bef\uff0c\u4ee5\u4fbf\u5728app.py\u4e2d\u7684RDS\u6ca1\u6709\u6570\u636e\u65f6\u8fd4\u56de\u3002<\/p>\n<pre class=\"post-pre\"><code>    except TypeError: #\u30a8\u30e9\u30fc\u51e6\u7406\u306f\u7d50\u69cb\u9069\u5f53\u3067\u3059\u3002\r\n        connection.rollback()\r\n        return 'No ID!!!'\r\n<\/code><\/pre>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/65-0.png\" alt=\"kekka_008_2.PNG\" \/><\/div>\n<h4>9. \u6c34\u679c\u4e2a\u522b\u641c\u7d22\uff08\u7531\u4e8e\u5220\u96646\u65f6\u6e05\u9664\u7f13\u5b58\uff0c\u56e0\u6b64\u6ca1\u6709\u547d\u4e2d\uff09<\/h4>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/67-0.png\" alt=\"kekka_009_1.PNG\" \/><\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/68-0.png\" alt=\"kekka_009_2.PNG\" \/><\/div>\n<h2>\u6700\u540e<\/h2>\n<p>\u9019\u662f\u6211\u5011\u8f15\u9b06\u5730\u5275\u5efa\u7de9\u5b58\u4f3a\u670d\u5668\u4e26\u4f7f\u7528\u7c21\u55ae\u7684\u7a0b\u5f0f\u9032\u884c\u7de9\u5b58\u6e2c\u8a66\u7684\u7d50\u679c\u3002\u5728\u6b64\u904e\u7a0b\u4e2d\uff0c\u6211\u5011\u5b78\u6703\u4e86\u4f7f\u7528\u7de9\u5b58\u548c\u9375\u503c\u5c0d\u7684\u6982\u5ff5\u3002\u975e\u5e38\u611f\u8b1d\u60a8\u7684\u95b1\u8b80\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148 Amazon ElastiCache for Memcached\u3092\u5229\u7528\u3057\u305f\u5024\u306e\u53d6\u5f97\u306b\u3064\u3044\u3066\u8a18\u8f09\u3057\u307e\u3059\u3002  [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-34610","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u5728\u672c\u673a\u4e0a\u6784\u5efaAWS Memcached\u7684\u5b9e\u65bd\u73af\u5883 - Blog - Silicon Cloud<\/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:\/\/www.silicloud.com\/zh\/blog\/\u5728\u672c\u673a\u4e0a\u6784\u5efaaws-memcached\u7684\u5b9e\u65bd\u73af\u5883\u3002\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5728\u672c\u673a\u4e0a\u6784\u5efaAWS Memcached\u7684\u5b9e\u65bd\u73af\u5883\" \/>\n<meta property=\"og:description\" content=\"\u9996\u5148 Amazon ElastiCache for Memcached\u3092\u5229\u7528\u3057\u305f\u5024\u306e\u53d6\u5f97\u306b\u3064\u3044\u3066\u8a18\u8f09\u3057\u307e\u3059\u3002 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u672c\u673a\u4e0a\u6784\u5efaaws-memcached\u7684\u5b9e\u65bd\u73af\u5883\u3002\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-24T22:46:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-29T06:06:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/2-0.png\" \/>\n<meta name=\"author\" content=\"\u97f5, \u79d1\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u97f5, \u79d1\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%9c%ac%e6%9c%ba%e4%b8%8a%e6%9e%84%e5%bb%baaws-memcached%e7%9a%84%e5%ae%9e%e6%96%bd%e7%8e%af%e5%a2%83%e3%80%82\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%9c%ac%e6%9c%ba%e4%b8%8a%e6%9e%84%e5%bb%baaws-memcached%e7%9a%84%e5%ae%9e%e6%96%bd%e7%8e%af%e5%a2%83%e3%80%82\/\",\"name\":\"\u5728\u672c\u673a\u4e0a\u6784\u5efaAWS Memcached\u7684\u5b9e\u65bd\u73af\u5883 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-01-24T22:46:49+00:00\",\"dateModified\":\"2024-04-29T06:06:15+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%9c%ac%e6%9c%ba%e4%b8%8a%e6%9e%84%e5%bb%baaws-memcached%e7%9a%84%e5%ae%9e%e6%96%bd%e7%8e%af%e5%a2%83%e3%80%82\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%9c%ac%e6%9c%ba%e4%b8%8a%e6%9e%84%e5%bb%baaws-memcached%e7%9a%84%e5%ae%9e%e6%96%bd%e7%8e%af%e5%a2%83%e3%80%82\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%9c%ac%e6%9c%ba%e4%b8%8a%e6%9e%84%e5%bb%baaws-memcached%e7%9a%84%e5%ae%9e%e6%96%bd%e7%8e%af%e5%a2%83%e3%80%82\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5728\u672c\u673a\u4e0a\u6784\u5efaAWS Memcached\u7684\u5b9e\u65bd\u73af\u5883\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e\",\"name\":\"\u97f5, \u79d1\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g\",\"caption\":\"\u97f5, \u79d1\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunke\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%9c%ac%e6%9c%ba%e4%b8%8a%e6%9e%84%e5%bb%baaws-memcached%e7%9a%84%e5%ae%9e%e6%96%bd%e7%8e%af%e5%a2%83%e3%80%82\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5728\u672c\u673a\u4e0a\u6784\u5efaAWS Memcached\u7684\u5b9e\u65bd\u73af\u5883 - Blog - Silicon Cloud","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:\/\/www.silicloud.com\/zh\/blog\/\u5728\u672c\u673a\u4e0a\u6784\u5efaaws-memcached\u7684\u5b9e\u65bd\u73af\u5883\u3002\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5728\u672c\u673a\u4e0a\u6784\u5efaAWS Memcached\u7684\u5b9e\u65bd\u73af\u5883","og_description":"\u9996\u5148 Amazon ElastiCache for Memcached\u3092\u5229\u7528\u3057\u305f\u5024\u306e\u53d6\u5f97\u306b\u3064\u3044\u3066\u8a18\u8f09\u3057\u307e\u3059\u3002 [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u672c\u673a\u4e0a\u6784\u5efaaws-memcached\u7684\u5b9e\u65bd\u73af\u5883\u3002\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-01-24T22:46:49+00:00","article_modified_time":"2024-04-29T06:06:15+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1e6e37434c4406c15f98\/2-0.png"}],"author":"\u97f5, \u79d1","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u97f5, \u79d1","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"6 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%9c%ac%e6%9c%ba%e4%b8%8a%e6%9e%84%e5%bb%baaws-memcached%e7%9a%84%e5%ae%9e%e6%96%bd%e7%8e%af%e5%a2%83%e3%80%82\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%9c%ac%e6%9c%ba%e4%b8%8a%e6%9e%84%e5%bb%baaws-memcached%e7%9a%84%e5%ae%9e%e6%96%bd%e7%8e%af%e5%a2%83%e3%80%82\/","name":"\u5728\u672c\u673a\u4e0a\u6784\u5efaAWS Memcached\u7684\u5b9e\u65bd\u73af\u5883 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-01-24T22:46:49+00:00","dateModified":"2024-04-29T06:06:15+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%9c%ac%e6%9c%ba%e4%b8%8a%e6%9e%84%e5%bb%baaws-memcached%e7%9a%84%e5%ae%9e%e6%96%bd%e7%8e%af%e5%a2%83%e3%80%82\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%9c%ac%e6%9c%ba%e4%b8%8a%e6%9e%84%e5%bb%baaws-memcached%e7%9a%84%e5%ae%9e%e6%96%bd%e7%8e%af%e5%a2%83%e3%80%82\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%9c%ac%e6%9c%ba%e4%b8%8a%e6%9e%84%e5%bb%baaws-memcached%e7%9a%84%e5%ae%9e%e6%96%bd%e7%8e%af%e5%a2%83%e3%80%82\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5728\u672c\u673a\u4e0a\u6784\u5efaAWS Memcached\u7684\u5b9e\u65bd\u73af\u5883"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e","name":"\u97f5, \u79d1","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g","caption":"\u97f5, \u79d1"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunke\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e6%9c%ac%e6%9c%ba%e4%b8%8a%e6%9e%84%e5%bb%baaws-memcached%e7%9a%84%e5%ae%9e%e6%96%bd%e7%8e%af%e5%a2%83%e3%80%82\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/34610","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=34610"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/34610\/revisions"}],"predecessor-version":[{"id":85724,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/34610\/revisions\/85724"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=34610"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=34610"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=34610"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}