id: e2e2334a0935468ea0fca3f139d41993
parent_id: 
item_type: 1
item_id: 1ff04c469fba4111ba5e837cfc5cdfbe
item_updated_time: 1764345613880
title_diff: "[{\"diffs\":[[1,\"shelve，世界上最牛逼的Python持久化存储库！\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":27}]"
body_diff: "[{\"diffs\":[[1,\"<html>\\\r\\\n<head>\\\r\\\n  <title>shelve，世界上最牛逼的Python持久化存储库！</title>\\\r\\\n  <basefont face=\\\"微软雅黑\\\" size=\\\"2\\\" />\\\r\\\n  <meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html;charset=utf-8\\\" />\\\r\\\n  <meta name=\\\"exporter-version\\\" content=\\\"YXBJ Windows/608924 (zh-CN, DDL); Windows/10.0.0 (Win64); EDAMVersion=V2;\\\"/>\\\r\\\n  <meta name=\\\"content-class\\\" content=\\\"yinxiang.peso.superNote\\\"/>\\\r\\\n  <meta name=\\\"application-data:yinxiang.noteLayout\\\" content=\\\"{\\\"lineSpace\\\":\\\"recommend\\\",\\\"paragraphSpace\\\":\\\"recommend\\\"}\\\"/>\\\r\\\n  <style>\\\r\\\n\\tbody, td {\\\r\\\n\\t  font-family: 微软雅黑;\\\r\\\n\\t  font-size: 12pt;\\\r\\\n\\t}\\\r\\\n  </style>\\\r\\\n</head>\\\r\\\n<body>\\\r\\\n<a name=\\\"35348\\\"></a>\\\r\\\n<h1>shelve，世界上最牛逼的Python持久化存储库！</h1>\\\r\\\n\\\r\\\n<div><span style=\\\"margin:0px;\\\"><div style=\\\"padding:8px 0px;margin:8px auto;max-width:700px;\\\"> <div><span></span></div>\\\n<p></p>\\\n<div style=\\\"--en-blockquote:true;box-sizing: border-box; padding-left: 19px; padding-top: 6px; padding-bottom: 6px; border-left: 3px solid #b4c0cc; background-position: initial initial; background-repeat: initial initial; margin-top: 6px\\\"><div>原文链接: <a href=\\\"http://mp.weixin.qq.com/s?__biz=MzkwNDc3MTgyOA==&amp;mid=2247483818&amp;idx=1&amp;sn=aa137579cda78595f3c00a812f7b4542&amp;chksm=c1ba6410597d977b1b91dee6ab474c4270304532996fcaf956143734aea4b76b2a22d9e07b27&amp;mpshare=1&amp;scene=1&amp;srcid=1230pjjNR6TWaOdaFX9Wsjo2&amp;sharer_shareinfo=4174ad9fa1f65be7fecfbf3a8b57ac43&amp;sharer_shareinfo_first=4174ad9fa1f65be7fecfbf3a8b57ac43#rd\\\"><span>http://mp.weixin.qq.com/s?__biz=MzkwNDc3MTgyOA==&amp;mid=2247483...</span></a></div></div>\\\n<p></p>\\\n<div><span></span></div>\\\n<div style=\\\"-webkit-tap-highlight-color:transparent;\\\"><div style=\\\"-webkit-tap-highlight-color:transparent;\\\"><div style=\\\"-webkit-tap-highlight-color:transparent;\\\"><h1 style=\\\"-webkit-tap-highlight-color:transparent;margin:0\\\"> shelve，世界上最牛逼的Python持久化存储库！ </h1><div style=\\\"-webkit-tap-highlight-color:transparent;\\\"><span style=\\\"-webkit-tap-highlight-color:transparent;position:relative\\\">原创</span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> 月月 </span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"><a style=\\\"-webkit-tap-highlight-color:transparent;position:relative\\\"> 月光印记 </a></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"><em style=\\\"-webkit-tap-highlight-color:transparent\\\"></em></span></div><div style=\\\"-webkit-tap-highlight-color:transparent;\\\"><h1 style=\\\"-webkit-tap-highlight-color:transparent;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;letter-spacing:normal;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:center;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:16.8px;font-weight:bold;display:table;margin:0 auto 1em;padding:0 1em;border-bottom:2px solid rgb(15,76,129);color:rgb(63,63,63)\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">shelve，世界上最牛逼的Python持久化存储库！</span></h1><p style=\\\"-webkit-tap-highlight-color:transparent;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:justify;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:14px;margin:1.5em 8px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">在开发过程中，我们经常需要将Python对象持久化存储到文件中。虽然很多人会想到使用JSON或pickle，但今天要介绍的shelve库可能会让你眼前一亮 - 它就像是一个持久化的字典，使用起来简单直观，却又功能强大。</span></p><p style=\\\"-webkit-tap-highlight-color:transparent;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:justify;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:14px;margin:1.5em 8px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">一次在处理大规模数据分析项目时，我需要频繁地保存和加载Python对象，JSON的序列化限制和pickle的安全性问题让我犯了难。直到发现了shelve这个内置库，它不仅完美解决了我的问题，还大大简化了代码结构。</span></p><h2 style=\\\"-webkit-tap-highlight-color:transparent;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;letter-spacing:normal;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:center;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:16.8px;font-weight:bold;display:table;margin:4em auto 2em;padding:0 0.2em;background:rgb(15,76,129);color:rgb(255,255,255)\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">安装和配置</span></h2><p style=\\\"-webkit-tap-highlight-color:transparent;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:justify;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:14px;margin:1.5em 8px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">作为Python标准库的一部分，shelve无需额外安装：</span></p><pre style=\\\"-webkit-tap-highlight-color:transparent;padding:0;font:14px/21px -apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;letter-spacing:normal;orphans:2;text-align:start;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgb(40,44,52);border:0 none rgb(171,178,191);clear:none;clip:auto;color:rgb(171,178,191);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:block;fill:rgb(0,0,0);flex:0 1 auto;float:none;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:10px 8px;marker:none;mask:none;offset:normal;opacity:1;order:0;outline:rgb(171,178,191) none 0;overflow:auto;overlay:none;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;x:0;y:0;zoom:1\\\"><div style=\\\"--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;\\\"><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">import</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> shelve</span></div></pre><p style=\\\"-webkit-tap-highlight-color:transparent;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:justify;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:14px;margin:1.5em 8px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">注意：在Windows系统上，shelve会创建三个文件：.bak、.dat和.dir。而在Unix系统上只会创建一个文件。这是由于不同操作系统的dbm实现差异导致的。</span></p><h2 style=\\\"-webkit-tap-highlight-color:transparent;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;letter-spacing:normal;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:center;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:16.8px;font-weight:bold;display:table;margin:4em auto 2em;padding:0 0.2em;background:rgb(15,76,129);color:rgb(255,255,255)\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">基本用法</span></h2><p style=\\\"-webkit-tap-highlight-color:transparent;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:justify;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:14px;margin:1.5em 8px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">shelve最大的特点是它能让你像使用字典一样操作持久化存储：</span></p><pre style=\\\"-webkit-tap-highlight-color:transparent;padding:0;font:14px/21px -apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;letter-spacing:normal;orphans:2;text-align:start;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgb(40,44,52);border:0 none rgb(171,178,191);clear:none;clip:auto;color:rgb(171,178,191);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:block;fill:rgb(0,0,0);flex:0 1 auto;float:none;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:10px 8px;marker:none;mask:none;offset:normal;opacity:1;order:0;outline:rgb(171,178,191) none 0;overflow:auto;overlay:none;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;x:0;y:0;zoom:1\\\"><div style=\\\"--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;\\\"><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(92,99,112);clear:none;clip:auto;color:rgb(92,99,112);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:italic 14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(92,99,112) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\"># 创建/打开一个shelve数据库</span></span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">with</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> shelve.</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(230,192,123);clear:none;clip:auto;color:rgb(230,192,123);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(230,192,123) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">open</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">(</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'mydata'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">) </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">as</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> db:</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(92,99,112);clear:none;clip:auto;color:rgb(92,99,112);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:italic 14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(92,99,112) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\"># 存储数据</span></span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    db[</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'list_data'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">] = [</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(209,154,102);clear:none;clip:auto;color:rgb(209,154,102);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(209,154,102) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">1</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">, </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(209,154,102);clear:none;clip:auto;color:rgb(209,154,102);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(209,154,102) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">2</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">, </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(209,154,102);clear:none;clip:auto;color:rgb(209,154,102);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(209,154,102) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">3</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">, </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(209,154,102);clear:none;clip:auto;color:rgb(209,154,102);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(209,154,102) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">4</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">]</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    db[</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'dict_data'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">] = {</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'name'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">: </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'Python'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">, </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'age'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">: </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(209,154,102);clear:none;clip:auto;color:rgb(209,154,102);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(209,154,102) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">30</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">}</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    db[</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'set_data'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">] = {</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(209,154,102);clear:none;clip:auto;color:rgb(209,154,102);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(209,154,102) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">1</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">, </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(209,154,102);clear:none;clip:auto;color:rgb(209,154,102);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(209,154,102) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">2</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">, </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(209,154,102);clear:none;clip:auto;color:rgb(209,154,102);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(209,154,102) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">3</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">}</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(92,99,112);clear:none;clip:auto;color:rgb(92,99,112);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:italic 14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(92,99,112) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\"># 读取数据</span></span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    my_list = db[</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'list_data'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">]</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    my_dict = db[</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'dict_data'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">]</span></div></pre><h2 style=\\\"-webkit-tap-highlight-color:transparent;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;letter-spacing:normal;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:center;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:16.8px;font-weight:bold;display:table;margin:4em auto 2em;padding:0 0.2em;background:rgb(15,76,129);color:rgb(255,255,255)\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">进阶技巧</span></h2><ol style=\\\"-webkit-tap-highlight-color:transparent;margin:0;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:left;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:14px;margin-left:0;padding-left:1em;color:rgb(63,63,63)\\\"><li style=\\\"-webkit-tap-highlight-color:transparent\\\"><div style=\\\"-webkit-tap-highlight-color:transparent;\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">1. 处理复杂对象</span></div></li></ol><pre style=\\\"-webkit-tap-highlight-color:transparent;padding:0;font:14px/21px -apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;letter-spacing:normal;orphans:2;text-align:start;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgb(40,44,52);border:0 none rgb(171,178,191);clear:none;clip:auto;color:rgb(171,178,191);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:block;fill:rgb(0,0,0);flex:0 1 auto;float:none;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:10px 8px;marker:none;mask:none;offset:normal;opacity:1;order:0;outline:rgb(171,178,191) none 0;overflow:auto;overlay:none;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;x:0;y:0;zoom:1\\\"><div style=\\\"--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;\\\"><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">class</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(230,192,123);clear:none;clip:auto;color:rgb(230,192,123);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(230,192,123) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">Person</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">:</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">def</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(97,174,238);clear:none;clip:auto;color:rgb(97,174,238);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(97,174,238) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">__init__</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">(</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(171,178,191);clear:none;clip:auto;color:rgb(171,178,191);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(171,178,191) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">self, name, age</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">):</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">        self.name = name</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">        self.age = age</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">with</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> shelve.</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(230,192,123);clear:none;clip:auto;color:rgb(230,192,123);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(230,192,123) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">open</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">(</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'people'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">) </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">as</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> db:</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(92,99,112);clear:none;clip:auto;color:rgb(92,99,112);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:italic 14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(92,99,112) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\"># 存储自定义类对象</span></span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    db[</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'person1'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">] = Person(</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'Alice'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">, </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(209,154,102);clear:none;clip:auto;color:rgb(209,154,102);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(209,154,102) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">25</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">)</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(92,99,112);clear:none;clip:auto;color:rgb(92,99,112);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:italic 14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(92,99,112) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\"># 读取并使用</span></span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    someone = db[</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'person1'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">]</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(230,192,123);clear:none;clip:auto;color:rgb(230,192,123);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(230,192,123) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">print</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">(someone.name)  </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(92,99,112);clear:none;clip:auto;color:rgb(92,99,112);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:italic 14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(92,99,112) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\"># 输出: Alice</span></span></div></pre><ol style=\\\"-webkit-tap-highlight-color:transparent;margin:0;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:left;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:14px;margin-left:0;padding-left:1em;color:rgb(63,63,63)\\\"><li style=\\\"-webkit-tap-highlight-color:transparent\\\"><div style=\\\"-webkit-tap-highlight-color:transparent;\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">1. 使用writeback模式</span></div></li></ol><pre style=\\\"-webkit-tap-highlight-color:transparent;padding:0;font:14px/21px -apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;letter-spacing:normal;orphans:2;text-align:start;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgb(40,44,52);border:0 none rgb(171,178,191);clear:none;clip:auto;color:rgb(171,178,191);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:block;fill:rgb(0,0,0);flex:0 1 auto;float:none;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:10px 8px;marker:none;mask:none;offset:normal;opacity:1;order:0;outline:rgb(171,178,191) none 0;overflow:auto;overlay:none;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;x:0;y:0;zoom:1\\\"><div style=\\\"--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;\\\"><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">with</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> shelve.</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(230,192,123);clear:none;clip:auto;color:rgb(230,192,123);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(230,192,123) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">open</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">(</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'data'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">, writeback=</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(86,182,194);clear:none;clip:auto;color:rgb(86,182,194);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(86,182,194) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">True</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">) </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">as</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> db:</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">if</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'users'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">not</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">in</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> db:</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">        db[</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'users'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">] = []</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    db[</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'users'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">].append(</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'new_user'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">)</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(92,99,112);clear:none;clip:auto;color:rgb(92,99,112);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:italic 14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(92,99,112) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\"># 不需要显式赋值回去，writeback模式会自动处理</span></span></div></pre><h2 style=\\\"-webkit-tap-highlight-color:transparent;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;letter-spacing:normal;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:center;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:16.8px;font-weight:bold;display:table;margin:4em auto 2em;padding:0 0.2em;background:rgb(15,76,129);color:rgb(255,255,255)\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">实战案例：简单的缓存系统</span></h2><p style=\\\"-webkit-tap-highlight-color:transparent;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:justify;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:14px;margin:1.5em 8px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">下面实现一个基于shelve的简单缓存系统：</span></p><pre style=\\\"-webkit-tap-highlight-color:transparent;padding:0;font:14px/21px -apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;letter-spacing:normal;orphans:2;text-align:start;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgb(40,44,52);border:0 none rgb(171,178,191);clear:none;clip:auto;color:rgb(171,178,191);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:block;fill:rgb(0,0,0);flex:0 1 auto;float:none;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:10px 8px;marker:none;mask:none;offset:normal;opacity:1;order:0;outline:rgb(171,178,191) none 0;overflow:auto;overlay:none;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;x:0;y:0;zoom:1\\\"><div style=\\\"--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;\\\"><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">class</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(230,192,123);clear:none;clip:auto;color:rgb(230,192,123);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(230,192,123) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">SimpleCache</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">:</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">def</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(97,174,238);clear:none;clip:auto;color:rgb(97,174,238);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(97,174,238) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">__init__</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">(</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(171,178,191);clear:none;clip:auto;color:rgb(171,178,191);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(171,178,191) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">self, filename</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">):</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">        self.filename = filename</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">def</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(97,174,238);clear:none;clip:auto;color:rgb(97,174,238);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(97,174,238) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">__enter__</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">(</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(171,178,191);clear:none;clip:auto;color:rgb(171,178,191);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(171,178,191) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">self</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">):</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">        self.db = shelve.</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(230,192,123);clear:none;clip:auto;color:rgb(230,192,123);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(230,192,123) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">open</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">(self.filename)</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">        </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">return</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> self</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">def</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(97,174,238);clear:none;clip:auto;color:rgb(97,174,238);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(97,174,238) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">__exit__</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">(</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(171,178,191);clear:none;clip:auto;color:rgb(171,178,191);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(171,178,191) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">self, exc_type, exc_val, exc_tb</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">):</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">        self.db.close()</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">def</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(97,174,238);clear:none;clip:auto;color:rgb(97,174,238);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(97,174,238) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">set</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">(</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(171,178,191);clear:none;clip:auto;color:rgb(171,178,191);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(171,178,191) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">self, key, value, expire_in=</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(86,182,194);clear:none;clip:auto;color:rgb(86,182,194);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(86,182,194) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">None</span></span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">):</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">        </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">if</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> expire_in:</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">            </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">from</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> time </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">import</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> time</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">            self.db[key] = (value, time() + expire_in)</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">        </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">else</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">:</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">            self.db[key] = (value, </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(86,182,194);clear:none;clip:auto;color:rgb(86,182,194);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(86,182,194) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">None</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">)</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">def</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(97,174,238);clear:none;clip:auto;color:rgb(97,174,238);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(97,174,238) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">get</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">(</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(171,178,191);clear:none;clip:auto;color:rgb(171,178,191);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(171,178,191) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">self, key, default=</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(86,182,194);clear:none;clip:auto;color:rgb(86,182,194);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(86,182,194) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">None</span></span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">):</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">        </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">if</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> key </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">not</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">in</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> self.db:</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">            </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">return</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> default</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">        </span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">        value, expire_time = self.db[key]</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">        </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">if</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> expire_time </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">is</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(86,182,194);clear:none;clip:auto;color:rgb(86,182,194);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(86,182,194) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">None</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">:</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">            </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">return</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> value</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">            </span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">        </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">from</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> time </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">import</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> time</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">        </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">if</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> time() &gt; expire_time:</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">            </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">del</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> self.db[key]</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">            </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">return</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> default</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">        </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">return</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> value</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(92,99,112);clear:none;clip:auto;color:rgb(92,99,112);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:italic 14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(92,99,112) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\"># 使用示例</span></span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">with</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> SimpleCache(</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'cache.db'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">) </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(198,120,221);clear:none;clip:auto;color:rgb(198,120,221);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(198,120,221) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">as</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\"> cache:</span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    cache.</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(230,192,123);clear:none;clip:auto;color:rgb(230,192,123);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(230,192,123) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">set</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">(</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'user_preferences'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">, {</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'theme'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">: </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'dark'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">}, expire_in=</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(209,154,102);clear:none;clip:auto;color:rgb(209,154,102);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(209,154,102) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">3600</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">)  </span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(92,99,112);clear:none;clip:auto;color:rgb(92,99,112);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:italic 14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(92,99,112) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\"># 1小时后过期</span></span><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/><span style=\\\"-webkit-tap-highlight-color:transparent\\\">    prefs = cache.get(</span><span style=\\\"-webkit-tap-highlight-color:transparent;animation:0 ease 0 1 normal none running none;appearance:none;background:none 0 0/auto repeat scroll padding-box border-box rgba(0,0,0,0);border:0 none rgb(152,195,121);clear:none;clip:auto;color:rgb(152,195,121);columns:auto;contain:none;container:none;content:normal;cursor:auto;cx:0;cy:0;d:none;direction:ltr;display:inline;fill:rgb(0,0,0);flex:0 1 auto;float:none;font:14px/24.5px Menlo,&quot;Operator Mono&quot;,Consolas,Monaco,monospace;gap:normal;hyphens:manual;inset:auto;isolation:auto;margin:0;marker:none;mask:none;offset:normal;opacity:1;order:0;orphans:2;outline:rgb(152,195,121) none 0;overflow:visible;overlay:none;padding:0;page:auto;perspective:none;quotes:auto;r:0;resize:none;rotate:none;rx:auto;ry:auto;scale:none;speak:normal;stroke:none;transform:none;transition:all;translate:none;__visibility:visible;widows:2;x:0;y:0;zoom:1\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">'user_preferences'</span></span><span style=\\\"-webkit-tap-highlight-color:transparent\\\">)</span></div></pre><h2 style=\\\"-webkit-tap-highlight-color:transparent;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;letter-spacing:normal;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:center;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:16.8px;font-weight:bold;display:table;margin:4em auto 2em;padding:0 0.2em;background:rgb(15,76,129);color:rgb(255,255,255)\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">总结与最佳实践</span></h2><p style=\\\"-webkit-tap-highlight-color:transparent;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:justify;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:14px;margin:1.5em 8px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">shelve的优点:</span></p><ul style=\\\"-webkit-tap-highlight-color:transparent;margin:0;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:left;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:14px;margin-left:0;padding-left:1em;list-style:circle;color:rgb(63,63,63)\\\"><li style=\\\"-webkit-tap-highlight-color:transparent\\\"><div style=\\\"-webkit-tap-highlight-color:transparent;\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">• 使用简单，API类似字典</span></div></li><li style=\\\"-webkit-tap-highlight-color:transparent\\\"><div style=\\\"-webkit-tap-highlight-color:transparent;\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">• 支持几乎所有Python数据类型</span></div></li><li style=\\\"-webkit-tap-highlight-color:transparent\\\"><div style=\\\"-webkit-tap-highlight-color:transparent;\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">• 标准库自带，无需额外依赖</span></div></li><li style=\\\"-webkit-tap-highlight-color:transparent\\\"><div style=\\\"-webkit-tap-highlight-color:transparent;\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">• 支持并发读取</span></div></li></ul><p style=\\\"-webkit-tap-highlight-color:transparent;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:justify;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:14px;margin:1.5em 8px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">使用建议：</span></p><ol style=\\\"-webkit-tap-highlight-color:transparent;margin:0;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:left;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:14px;margin-left:0;padding-left:1em;color:rgb(63,63,63)\\\"><li style=\\\"-webkit-tap-highlight-color:transparent\\\"><div style=\\\"-webkit-tap-highlight-color:transparent;\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">1. 始终使用with语句管理数据库连接</span></div></li><li style=\\\"-webkit-tap-highlight-color:transparent\\\"><div style=\\\"-webkit-tap-highlight-color:transparent;\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">2. 对于可变对象，考虑使用writeback模式</span></div></li><li style=\\\"-webkit-tap-highlight-color:transparent\\\"><div style=\\\"-webkit-tap-highlight-color:transparent;\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">3. 注意在多进程环境下的同步问题</span></div></li><li style=\\\"-webkit-tap-highlight-color:transparent\\\"><div style=\\\"-webkit-tap-highlight-color:transparent;\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">4. 定期备份数据文件</span></div></li></ol><p style=\\\"-webkit-tap-highlight-color:transparent;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;orphans:2;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-align:justify;line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:14px;margin:1.5em 8px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\">相比JSON和pickle，shelve在处理持久化存储时更加优雅和pythonic。它特别适合需要频繁读写的中小型数据存储场景，比如配置管理、缓存系统等。虽然它可能不如专业的数据库系统强大，但在简单应用场景下，shelve绝对是一个不可多得的好帮手。</span></p><div style=\\\"-webkit-tap-highlight-color:transparent;\\\"><span style=\\\"-webkit-tap-highlight-color:transparent\\\"><br style=\\\"-webkit-tap-highlight-color:transparent\\\"/></span></div></div></div></div></div></div></span>\\\n</div></body></html>\\u0000\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":144441}]"
metadata_diff: {"new":{"id":"1ff04c469fba4111ba5e837cfc5cdfbe","parent_id":"f67288c3a0be4374b5d532b5dcc3aabc","latitude":"0.00000000","longitude":"0.00000000","altitude":"0.0000","author":"","source_url":"","is_todo":0,"todo_due":0,"todo_completed":0,"source":"joplin-desktop","source_application":"net.cozic.joplin-desktop","application_data":"","order":1764348827895,"markup_language":2,"is_shared":0,"share_id":"","conflict_original_id":"","master_key_id":"","user_data":"","deleted_time":0},"deleted":[]}
encryption_cipher_text: 
encryption_applied: 0
updated_time: 2025-11-28T21:04:03.414Z
created_time: 2025-11-28T21:04:03.414Z
type_: 13