zoukankan      html  css  js  c++  java
  • Django 最好的缓存memcached的使用 小记

    嗯,咳咳咳咳咳,这是在win平台上。linux平台上没折腾

    首先你要在win上安装 Memcache

    下载 :点我下载 里面有x64 和 x86 的。根据自己的系统版本来选择使用

     
    使用命令行:
      1,在文件目录下  
      memcached -d install
     
      2,启动服务(默认端口是11211)
      net start "Memcached Server" (或者services.msc进入到服务,找到memcached服务,开启即可)
     
    为Django加上缓存
      
      a,安装插件
     
      
    b,在setting中配置缓存
    # settings.py中的配置
    CACHES = {
        'default': {
            'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
            'LOCATION': [
                '127.0.0.1:11211',
            ]
        }
    }



    c,在views.py中进行调用( 60*15 表示为此方法缓存时间为15分钟。对了别忘了导入)
    
    
    
    
     
    当然,上面加个装饰起的缓存方法和可以使用下面的方法实现(直接在路由中)

     如果不想为一个方法(页面)进行缓存,只想缓存某个字段的话,可以使用

    当然了针对于上面的这种方法,选取你要缓存的值是非常正确的。因为memcache为key-value数据库。不能存储对象(例如数据库查询结果对象)。

    如果要缓存对象的话,那得使用mongodb,redis也不行,因为redis也是key-value数据库。

    缓存的原理:
      原来没有的时候:
        1,Django view通过Models从DB获取数据
        2,然后调用template去渲染,形成真正的HttpResponse
        3,通过Http Socket将数据写回给客户端
      
      有了memcache:
        上面的1,2就被省了,根据url直接从缓存池里取出保存过的HttpResponse,返回给客户端

    好了,看看效果(这是使用装饰器的方法演示)

     重新选择一个城市

    结果,还是没变,还在杭州(缓存是起效了,但是看来并不适合我这,因为网站是就业平台,不能选择城市是大问题,哈哈。这里只是演示使用)

    更多内容,可访问:http://rexyan.cn
  • 相关阅读:
    9 与python2交互
    8 内置函数(未完成)
    7 事务
    [转]jquery.vTicker(垂直滚动)
    2015年工作总结(2016-02-02)
    jQuery plugin : jqTransform
    JQuery知识总结
    JQuery事件处理的注意事项
    JQuery基本选择器
    [二]JQueryMobile常用的组件介绍
  • 原文地址:https://www.cnblogs.com/rexyan/p/6445006.html
Copyright © 2011-2022 走看看