• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Benjamin

            靜以修身,儉以養(yǎng)德,非澹薄無(wú)以明志,非寧?kù)o無(wú)以致遠(yuǎn)。
            隨筆 - 397, 文章 - 0, 評(píng)論 - 196, 引用 - 0
            數(shù)據(jù)加載中……

            py_cache_manager使用簡(jiǎn)介

            ## 特點(diǎn): 
            一、持久化緩存
            from cacheman import cacher
            manager = cacher.get_cache_manager() # Optional manager name argument can be used here
            cache = manager.register_cache('my_simple_cache') # You now have a cache!
            print cache.get('my_key') # `None` first run, 'my_value' if this code was executed earlier
            cache['my_key'] = 'my_value'
            cache.save() # Changes are now persisted to disk
            manager.save_cache_contents('my_simple_cache') # Alternative way to save a cache
            二、非持久化緩存
            from cacheman import cacher
            manager = cacher.get_cache_manager()
            cache = manager.register_custom_cache('my_simple_cache', persistent=False) # You cache won't save to disk
            cache.save() # This is a no-op
            三、注冊(cè)鉤子
            from cacheman import cacher
            from cacheman import cachewrap
            def my_saver(cache_name, contents):
                print("Save requested on {} cache content: {}".format(cache_name, contents))
            def my_loader(cache_name):
                return { 'load': 'faked' }
            manager = cacher.get_cache_manager()
            cache = cachewrap.PersistentCache('my_cache', saver=my_saver, loader=my_loader)
            # Can also use manager to set savers/loaders
            #manager.retrieve_cache('my_cache')
            #manager.register_saver('my_cache', my_saver)
            #manager.register_loader('my_cache', my_loader)
            cache.save() # Will print 'Save ... : { 'load': 'faked' }'
            cache['new'] = 'real' # Add something to the cache
            cache.save() # Will print 'Save ... : { 'load': 'faked', 'new': 'real' }'
            四、直接設(shè)置
            from cacheman import cacher
            # Default cache directory is '/tmp/general_cacher' or 'user\appadata\local\temp\general_cache'
            # All pickle caches now save to namespaced directories within the base_cache_directory directory
            manager = cacher.get_cache_manager(base_cache_directory='secret/cache/location')
            cache = manager.register_cache('my_cache')
            cache['new'] = 'real' # Add something to the cache
            cache.save('my_cache') # Will save contents to 'secret/cache/location/general_cache/my_cache.pkl'
            五、依賴緩存
            from cacheman import cacher
            manager = cacher.get_cache_manager()
            edge_cache = manager.retrieve_cache('edge_cache')
            root_cache = manager.register_cache('root_cache')
            manager.register_dependent_cache('root_cache', 'edge_cache')
            def set_processed_value():
                # Computes and caches 'processed' from root's 'raw' value
                processed = edge_cache.get('processed')
                if processed is None:
                    processed = (root_cache.get('raw') or 0) * 5
                    edge_cache['processed'] = processed
                return processed
            # A common problem with caching computed or dependent values:
            print set_processed_value() # 0 without raw value
            root_cache['raw'] = 1
            print set_processed_value() # still 0 because it's cache in edge
            # Now we use cache invalidation to tell downstream caches they're no longer valid
            root_cache.invalidate() # Invalidates dependent caches
            print edge_cache # Prints {} even though we only invalidated the root_cache
            root_cache['raw'] = 1
            print set_processed_value() # Now 5 because the edge was cleared before the request
            print edge_cache # Can see {'processed': 5} propogated

            附注:安裝使用壓縮包里setup.py
            py_cache_manager.rar

            posted on 2021-09-11 12:10 Benjamin 閱讀(246) 評(píng)論(0)  編輯 收藏 引用 所屬分類: python

            久久精品九九亚洲精品| 国产免费久久精品99re丫y| 一本久道久久综合狠狠爱| 久久精品aⅴ无码中文字字幕不卡| 亚洲午夜久久久影院| 无码人妻久久久一区二区三区| 99久久无码一区人妻| 久久亚洲AV成人无码| 91精品国产91久久综合| 2020国产成人久久精品| 久久国产精品99精品国产| 日韩久久无码免费毛片软件| 久久精品a亚洲国产v高清不卡| 久久91亚洲人成电影网站| 亚洲国产精品无码久久一线| 久久国产成人精品麻豆| 久久人妻少妇嫩草AV蜜桃| 国产成人香蕉久久久久| 久久99热精品| 亚洲国产精品一区二区久久hs| 久久久这里有精品中文字幕| 久久成人精品| 久久久久九国产精品| 久久久精品视频免费观看| 久久精品国产亚洲av高清漫画| 一97日本道伊人久久综合影院| 久久精品国产欧美日韩99热| 中文国产成人精品久久亚洲精品AⅤ无码精品| 麻豆AV一区二区三区久久| 久久er热视频在这里精品| 日韩精品无码久久久久久| 亚洲中文字幕久久精品无码APP| 亚州日韩精品专区久久久| 久久99精品久久久久久秒播| 久久久久中文字幕| 色99久久久久高潮综合影院| 久久AⅤ人妻少妇嫩草影院| 久久久中文字幕日本| 精品久久久久久国产牛牛app| 93精91精品国产综合久久香蕉 | 久久久精品人妻无码专区不卡 |