diff --git a/docs/images/cache_design.graffle b/docs/images/cache_design.graffle new file mode 100644 index 00000000..5b7c487b --- /dev/null +++ b/docs/images/cache_design.graffle @@ -0,0 +1,2295 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro + 139.16.0.171715 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {771, 554.18930041152259}} + Class + SolidGraphic + ID + 2 + Style + + fill + + Color + + b + 0.989303 + g + 0.907286 + r + 0.795377 + + FillType + 2 + GradientAngle + 78 + GradientColor + + b + 1 + g + 0.854588 + r + 0.623912 + + MiddleColor + + b + 1 + g + 0.856844 + r + 0.43695 + + TrippleBlend + YES + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + CanvasSize + {771, 554.18930041152259} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2013-09-29 07:57:57 +0000 + Creator + Lunny Xiao + DisplayScale + 1.000 cm = 1.000 cm + FileType + flat + GraphDocumentVersion + 8 + GraphicsList + + + Bounds + {{409.89504441572683, 415.64570506990464}, {104.42639923095703, 79.447883605957031}} + Class + ShapedGraphic + FontInfo + + Color + + b + 0.8 + g + 0.8 + r + 0.8 + + Font + Verdana + Size + 18 + + ID + 30 + Shape + Rectangle + Style + + fill + + Color + + b + 0.6 + g + 0.6 + r + 0.6 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.4 + g + 0.4 + r + 0.4 + + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.590997 + g + 0.18677 + r + 0.567819 + + Draws + NO + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;\red204\green204\blue204;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf2 .\ +.\ +.\ +} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + Bounds + {{276.44083898205287, 413.07252538018992}, {112.36092376708984, 79.447883605957031}} + Class + ShapedGraphic + FontInfo + + Color + + archive + + YnBsaXN0MDDUAQIDBAUGBwpZJGFyY2hpdmVy + WCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9O + U0tleWVkQXJjaGl2ZXISAAGGoNEICVRyb290 + gAGlCwwVGR5VJG51bGzUDQ4PEBESExRfEBJO + U0N1c3RvbUNvbG9yU3BhY2VXTlNXaGl0ZVxO + U0NvbG9yU3BhY2VWJGNsYXNzgAJCMAAQA4AE + 0hYQFxhUTlNJRBACgAPSGhscD1gkY2xhc3Nl + c1okY2xhc3NuYW1log8dWE5TT2JqZWN00hob + HyCiIB1XTlNDb2xvcggRGyQpMkRJTFFTWV9o + fYWSmZueoKKnrK6wtb7JzNXa3QAAAAAAAAEB + AAAAAAAAACEAAAAAAAAAAAAAAAAAAADl + + b + 0 + g + 0 + r + 0 + + Font + Verdana + Size + 18 + + ID + 29 + Shape + Rectangle + Style + + fill + + Color + + b + 0.776486 + g + 0.588495 + r + 0.670497 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.618021 + g + 0.412924 + r + 0.50312 + + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.590997 + g + 0.18677 + r + 0.567819 + + Draws + NO + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 .\ +.\ +.} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + Bounds + {{409.89504441572689, 337.17180246145824}, {104.42639923095703, 51}} + Class + ShapedGraphic + FontInfo + + Color + + b + 0.8 + g + 0.8 + r + 0.8 + + Font + Verdana + Size + 18 + + ID + 28 + Shape + Rectangle + Style + + fill + + Color + + b + 0.6 + g + 0.6 + r + 0.6 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.4 + g + 0.4 + r + 0.4 + + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.590997 + g + 0.18677 + r + 0.567819 + + Draws + NO + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;\red204\green204\blue204;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf2 user-2:User\{\}} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + Bounds + {{274.32251833907753, 322.94787397618234}, {112.36092376708984, 79.447883605957031}} + Class + ShapedGraphic + FontInfo + + Color + + archive + + YnBsaXN0MDDUAQIDBAUGBwpZJGFyY2hpdmVy + WCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9O + U0tleWVkQXJjaGl2ZXISAAGGoNEICVRyb290 + gAGlCwwVGR5VJG51bGzUDQ4PEBESExRfEBJO + U0N1c3RvbUNvbG9yU3BhY2VXTlNXaGl0ZVxO + U0NvbG9yU3BhY2VWJGNsYXNzgAJCMAAQA4AE + 0hYQFxhUTlNJRBACgAPSGhscD1gkY2xhc3Nl + c1okY2xhc3NuYW1log8dWE5TT2JqZWN00hob + HyCiIB1XTlNDb2xvcggRGyQpMkRJTFFTWV9o + fYWSmZueoKKnrK6wtb7JzNXa3QAAAAAAAAEB + AAAAAAAAACEAAAAAAAAAAAAAAAAAAADl + + b + 0 + g + 0 + r + 0 + + Font + Verdana + Size + 18 + + ID + 27 + Shape + Rectangle + Style + + fill + + Color + + b + 0.776486 + g + 0.588495 + r + 0.670497 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.618021 + g + 0.412924 + r + 0.50312 + + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.590997 + g + 0.18677 + r + 0.567819 + + Draws + NO + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 select id from tb3:[2,5]} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + Bounds + {{406.08888702072045, 256.42244420026987}, {104.42639923095703, 51}} + Class + ShapedGraphic + FontInfo + + Color + + b + 0.8 + g + 0.8 + r + 0.8 + + Font + Verdana + Size + 18 + + ID + 25 + Shape + Rectangle + Style + + fill + + Color + + b + 0.6 + g + 0.6 + r + 0.6 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.4 + g + 0.4 + r + 0.4 + + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.590997 + g + 0.18677 + r + 0.567819 + + Draws + NO + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;\red204\green204\blue204;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf2 user-2:User\{\}} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + Bounds + {{406.08888302813585, 187.47137690331695}, {104.42639923095703, 51}} + Class + ShapedGraphic + FontInfo + + Color + + b + 0.8 + g + 0.8 + r + 0.8 + + Font + Verdana + Size + 18 + + ID + 24 + Shape + Rectangle + Style + + fill + + Color + + b + 0.6 + g + 0.6 + r + 0.6 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.4 + g + 0.4 + r + 0.4 + + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.590997 + g + 0.18677 + r + 0.567819 + + Draws + NO + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;\red204\green204\blue204;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf2 table-1:Table\{\}} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + Bounds + {{406.08887903555114, 118.52029512620169}, {104.42639923095703, 51}} + Class + ShapedGraphic + FontInfo + + Color + + b + 0.8 + g + 0.8 + r + 0.8 + + Font + Verdana + Size + 18 + + ID + 23 + Shape + Rectangle + Style + + fill + + Color + + b + 0.6 + g + 0.6 + r + 0.6 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.4 + g + 0.4 + r + 0.4 + + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.590997 + g + 0.18677 + r + 0.567819 + + Draws + NO + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;\red204\green204\blue204;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf2 user-1:User\{\}} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + Bounds + {{556.54055354053583, 325.93280718390133}, {124.41892177446698, 51}} + Class + ShapedGraphic + FontInfo + + Color + + archive + + YnBsaXN0MDDUAQIDBAUGBwpZJGFyY2hpdmVy + WCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9O + U0tleWVkQXJjaGl2ZXISAAGGoNEICVRyb290 + gAGlCwwVGR5VJG51bGzUDQ4PEBESExRfEBJO + U0N1c3RvbUNvbG9yU3BhY2VXTlNXaGl0ZVxO + U0NvbG9yU3BhY2VWJGNsYXNzgAJCMAAQA4AE + 0hYQFxhUTlNJRBACgAPSGhscD1gkY2xhc3Nl + c1okY2xhc3NuYW1log8dWE5TT2JqZWN00hob + HyCiIB1XTlNDb2xvcggRGyQpMkRJTFFTWV9o + fYWSmZueoKKnrK6wtb7JzNXa3QAAAAAAAAEB + AAAAAAAAACEAAAAAAAAAAAAAAAAAAADl + + b + 0 + g + 0 + r + 0 + + Font + Verdana + Size + 18 + + ID + 22 + Shape + Rectangle + Style + + fill + + Color + + b + 0.793851 + g + 0.625208 + r + 0.562982 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.639673 + g + 0.450584 + r + 0.381079 + + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.511421 + g + 0.637255 + r + 0.120867 + + Draws + NO + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 Del(k, v)} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + Bounds + {{556.54055354053583, 240.81081643580876}, {124.41892177446698, 51}} + Class + ShapedGraphic + FontInfo + + Color + + archive + + YnBsaXN0MDDUAQIDBAUGBwpZJGFyY2hpdmVy + WCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9O + U0tleWVkQXJjaGl2ZXISAAGGoNEICVRyb290 + gAGlCwwVGR5VJG51bGzUDQ4PEBESExRfEBJO + U0N1c3RvbUNvbG9yU3BhY2VXTlNXaGl0ZVxO + U0NvbG9yU3BhY2VWJGNsYXNzgAJCMAAQA4AE + 0hYQFxhUTlNJRBACgAPSGhscD1gkY2xhc3Nl + c1okY2xhc3NuYW1log8dWE5TT2JqZWN00hob + HyCiIB1XTlNDb2xvcggRGyQpMkRJTFFTWV9o + fYWSmZueoKKnrK6wtb7JzNXa3QAAAAAAAAEB + AAAAAAAAACEAAAAAAAAAAAAAAAAAAADl + + b + 0 + g + 0 + r + 0 + + Font + Verdana + Size + 18 + + ID + 21 + Shape + Rectangle + Style + + fill + + Color + + b + 0.793851 + g + 0.625208 + r + 0.562982 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.639673 + g + 0.450584 + r + 0.381079 + + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.511421 + g + 0.637255 + r + 0.120867 + + Draws + NO + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 Put(k, v)} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + Bounds + {{556.54054526129187, 150.52220626433376}, {124.41893005371094, 51}} + Class + ShapedGraphic + FontInfo + + Color + + archive + + YnBsaXN0MDDUAQIDBAUGBwpZJGFyY2hpdmVy + WCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9O + U0tleWVkQXJjaGl2ZXISAAGGoNEICVRyb290 + gAGlCwwVGR5VJG51bGzUDQ4PEBESExRfEBJO + U0N1c3RvbUNvbG9yU3BhY2VXTlNXaGl0ZVxO + U0NvbG9yU3BhY2VWJGNsYXNzgAJCMAAQA4AE + 0hYQFxhUTlNJRBACgAPSGhscD1gkY2xhc3Nl + c1okY2xhc3NuYW1log8dWE5TT2JqZWN00hob + HyCiIB1XTlNDb2xvcggRGyQpMkRJTFFTWV9o + fYWSmZueoKKnrK6wtb7JzNXa3QAAAAAAAAEB + AAAAAAAAACEAAAAAAAAAAAAAAAAAAADl + + b + 0 + g + 0 + r + 0 + + Font + Verdana + Size + 18 + + ID + 20 + Shape + Rectangle + Style + + fill + + Color + + b + 0.793851 + g + 0.625208 + r + 0.562982 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.639673 + g + 0.450584 + r + 0.381079 + + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.511421 + g + 0.637255 + r + 0.120867 + + Draws + NO + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 Get(k, v)} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + Bounds + {{276.44083898205287, 214.72973288487913}, {112.36092376708984, 79.447883605957031}} + Class + ShapedGraphic + FontInfo + + Color + + archive + + YnBsaXN0MDDUAQIDBAUGBwpZJGFyY2hpdmVy + WCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9O + U0tleWVkQXJjaGl2ZXISAAGGoNEICVRyb290 + gAGlCwwVGR5VJG51bGzUDQ4PEBESExRfEBJO + U0N1c3RvbUNvbG9yU3BhY2VXTlNXaGl0ZVxO + U0NvbG9yU3BhY2VWJGNsYXNzgAJCMAAQA4AE + 0hYQFxhUTlNJRBACgAPSGhscD1gkY2xhc3Nl + c1okY2xhc3NuYW1log8dWE5TT2JqZWN00hob + HyCiIB1XTlNDb2xvcggRGyQpMkRJTFFTWV9o + fYWSmZueoKKnrK6wtb7JzNXa3QAAAAAAAAEB + AAAAAAAAACEAAAAAAAAAAAAAAAAAAADl + + b + 0 + g + 0 + r + 0 + + Font + Verdana + Size + 18 + + ID + 19 + Shape + Rectangle + Style + + fill + + Color + + b + 0.776486 + g + 0.588495 + r + 0.670497 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.618021 + g + 0.412924 + r + 0.50312 + + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.590997 + g + 0.18677 + r + 0.567819 + + Draws + NO + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 select id from tb2:[2,5]} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + Bounds + {{274.32251963877655, 117.18245433711769}, {112.36092376708984, 68.777008056640625}} + Class + ShapedGraphic + FontInfo + + Color + + archive + + YnBsaXN0MDDUAQIDBAUGBwpZJGFyY2hpdmVy + WCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9O + U0tleWVkQXJjaGl2ZXISAAGGoNEICVRyb290 + gAGlCwwVGR5VJG51bGzUDQ4PEBESExRfEBJO + U0N1c3RvbUNvbG9yU3BhY2VXTlNXaGl0ZVxO + U0NvbG9yU3BhY2VWJGNsYXNzgAJCMAAQA4AE + 0hYQFxhUTlNJRBACgAPSGhscD1gkY2xhc3Nl + c1okY2xhc3NuYW1log8dWE5TT2JqZWN00hob + HyCiIB1XTlNDb2xvcggRGyQpMkRJTFFTWV9o + fYWSmZueoKKnrK6wtb7JzNXa3QAAAAAAAAEB + AAAAAAAAACEAAAAAAAAAAAAAAAAAAADl + + b + 0 + g + 0 + r + 0 + + Font + Verdana + Size + 18 + + ID + 18 + Shape + Rectangle + Style + + fill + + Color + + b + 0.776486 + g + 0.588495 + r + 0.670497 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.618021 + g + 0.412924 + r + 0.50312 + + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.590997 + g + 0.18677 + r + 0.567819 + + Draws + NO + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 select id from tb1:[1,2,3]} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + Bounds + {{103.00000194954862, 30.108108889738791}, {80, 51}} + Class + ShapedGraphic + FontInfo + + Color + + archive + + YnBsaXN0MDDUAQIDBAUGBwpZJGFyY2hpdmVy + WCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9O + U0tleWVkQXJjaGl2ZXISAAGGoNEICVRyb290 + gAGlCwwVGR5VJG51bGzUDQ4PEBESExRfEBJO + U0N1c3RvbUNvbG9yU3BhY2VXTlNXaGl0ZVxO + U0NvbG9yU3BhY2VWJGNsYXNzgAJCMAAQA4AE + 0hYQFxhUTlNJRBACgAPSGhscD1gkY2xhc3Nl + c1okY2xhc3NuYW1log8dWE5TT2JqZWN00hob + HyCiIB1XTlNDb2xvcggRGyQpMkRJTFFTWV9o + fYWSmZueoKKnrK6wtb7JzNXa3QAAAAAAAAEB + AAAAAAAAACEAAAAAAAAAAAAAAAAAAADl + + b + 0 + g + 0 + r + 0 + + Font + Verdana + Size + 18 + + ID + 14 + Shape + Rectangle + Style + + fill + + Color + + b + 0.776486 + g + 0.588495 + r + 0.670497 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.618021 + g + 0.412924 + r + 0.50312 + + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.590997 + g + 0.18677 + r + 0.567819 + + Draws + NO + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset134 STHeitiSC-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 SQL} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + Bounds + {{532.04631600645348, 25.096524339927051}, {166.93052673339844, 79.447883605957031}} + Class + ShapedGraphic + FontInfo + + Color + + archive + + YnBsaXN0MDDUAQIDBAUGBwpZJGFyY2hpdmVy + WCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9O + U0tleWVkQXJjaGl2ZXISAAGGoNEICVRyb290 + gAGlCwwVGR5VJG51bGzUDQ4PEBESExRfEBJO + U0N1c3RvbUNvbG9yU3BhY2VXTlNXaGl0ZVxO + U0NvbG9yU3BhY2VWJGNsYXNzgAJCMAAQA4AE + 0hYQFxhUTlNJRBACgAPSGhscD1gkY2xhc3Nl + c1okY2xhc3NuYW1log8dWE5TT2JqZWN00hob + HyCiIB1XTlNDb2xvcggRGyQpMkRJTFFTWV9o + fYWSmZueoKKnrK6wtb7JzNXa3QAAAAAAAAEB + AAAAAAAAACEAAAAAAAAAAAAAAAAAAADl + + b + 0 + g + 0 + r + 0 + + Font + Verdana + Size + 18 + + ID + 13 + Shape + Rectangle + Style + + fill + + Color + + b + 0.793851 + g + 0.625208 + r + 0.562982 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.639673 + g + 0.450584 + r + 0.381079 + + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.511421 + g + 0.637255 + r + 0.120867 + + Draws + NO + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Verdana;\f1\fnil\fcharset134 STHeitiSC-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 Cache\ + +\f1 Store} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + Bounds + {{298.9845516069733, 37.412179328792348}, {173.03089904785156, 51}} + Class + ShapedGraphic + FontInfo + + Color + + b + 0.8 + g + 0.8 + r + 0.8 + + Font + Verdana + Size + 18 + + ID + 17 + Shape + Rectangle + Style + + fill + + Color + + b + 0.6 + g + 0.6 + r + 0.6 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.4 + g + 0.4 + r + 0.4 + + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.590997 + g + 0.18677 + r + 0.567819 + + Draws + NO + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;\red204\green204\blue204;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf2 LRUCacher} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + Bounds + {{99.822519035537013, 333.12161552787364}, {88, 51}} + Class + ShapedGraphic + FontInfo + + Color + + archive + + YnBsaXN0MDDUAQIDBAUGBwpZJGFyY2hpdmVy + WCR2ZXJzaW9uVCR0b3BYJG9iamVjdHNfEA9O + U0tleWVkQXJjaGl2ZXISAAGGoNEICVRyb290 + gAGlCwwVGR5VJG51bGzUDQ4PEBESExRfEBJO + U0N1c3RvbUNvbG9yU3BhY2VXTlNXaGl0ZVxO + U0NvbG9yU3BhY2VWJGNsYXNzgAJCMAAQA4AE + 0hYQFxhUTlNJRBACgAPSGhscD1gkY2xhc3Nl + c1okY2xhc3NuYW1log8dWE5TT2JqZWN00hob + HyCiIB1XTlNDb2xvcggRGyQpMkRJTFFTWV9o + fYWSmZueoKKnrK6wtb7JzNXa3QAAAAAAAAEB + AAAAAAAAACEAAAAAAAAAAAAAAAAAAADl + + b + 0 + g + 0 + r + 0 + + Font + Verdana + NSKern + 0.0 + Size + 15 + + ID + 12 + Magnets + + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.806569 + g + 0.806569 + r + 0.806569 + + FillType + 2 + GradientAngle + 90 + GradientColor + + w + 0.653285 + + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.2 + g + 0.2 + r + 0.2 + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs30 \cf0 \expnd0\expndtw0\kerning0 +Delet\ +SQL} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + Bounds + {{97.118322659032714, 226.09466078541047}, {88, 51}} + Class + ShapedGraphic + FontInfo + + Color + + b + 0 + g + 0 + r + 0.501961 + + Font + Verdana + NSKern + 0.0 + Size + 15 + + ID + 15 + Magnets + + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + Color + + b + 0 + g + 0.389485 + r + 1 + + FillType + 3 + GradientCenter + {-0.34285700000000002, -0.114286} + GradientColor + + b + 0 + g + 0.495748 + r + 1 + + MiddleColor + + b + 0 + g + 0.887657 + r + 1 + + MiddleFraction + 0.6269841194152832 + TrippleBlend + YES + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.2 + g + 0.2 + r + 0.2 + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;\red128\green0\blue0;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs30 \cf2 \expnd0\expndtw0\kerning0 +Update\ +SQL} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + Bounds + {{103, 123.08108395608006}, {80, 51}} + Class + ShapedGraphic + FontInfo + + Color + + b + 0.821332 + g + 0.672602 + r + 0.928374 + + Font + Verdana + Size + 18 + + ID + 16 + Shape + Rectangle + Style + + fill + + Color + + b + 0.436973 + g + 0.155566 + r + 0.758999 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.25098 + g + 0 + r + 0.501961 + + + shadow + + Beneath + YES + Color + + a + 0.15 + b + 0 + g + 0 + r + 0 + + Fuzziness + 0.0 + ShadowVector + {2, 2} + + stroke + + Color + + b + 0.511421 + g + 0.637255 + r + 0.120867 + + Draws + NO + Width + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg936\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset134 STHeitiSC-Light;\f1\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;\red237\green172\blue209;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf2 select +\f1 +\f0 SQL} + VerticalPad + 0 + + TextRelativeArea + {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}} + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 2 + ImageCounter + 3 + KeepToScale + + Layers + + + Lock + NO + Name + 图层 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + AutoLayout + 2 + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + neato + neatoLineLength + 0.92083334922790527 + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2013-09-29 08:24:57 +0000 + Modifier + Lunny Xiao + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + OutlineStyle + Brainstorming/Clouds + PageBreaks + NO + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {595, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + 版面 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + FitInWindow + + Frame + {{138, 197}, {869, 617}} + ListView + + OutlineWidth + 142 + RightSidebar + + Sidebar + + SidebarWidth + 138 + VisibleRegion + {{1.0591603214876664, 1.0591603214876664}, {770.00955372153339, 553.94084813804955}} + Zoom + 0.94414412975311279 + ZoomValues + + + 版面 1 + 0.0 + 1 + + + + + diff --git a/docs/images/cache_design.png b/docs/images/cache_design.png new file mode 100644 index 00000000..11ce8176 Binary files /dev/null and b/docs/images/cache_design.png differ