精华内容
下载资源
问答
  • 的时候需要手动调用来刷新界面,比如非动态切换的语言模式啊,风格样式啊什么的。 <!DOCTYPE html> <html> <head> <meta charset='utf-8'> </head> <body> <button ...
  • 的时候需要手动调用来刷新界面,比如非动态切换的语言模式啊,风格样式啊什么的。 <!DOCTYPE html> <html> <head> <meta charset='utf-8'> </head> <body> <...

    有的时候需要手动调用来刷新界面,比如非动态切换的语言模式啊,风格样式啊什么的。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset='utf-8'>
        </head>
        <body>
        <button onclick="click1()">location.reload();</button>
        <button onclick="click2()">history.go(0);</button>
        <button onclick="click3()"> location=location ;</button>
        <button onclick="click4()">location.assign(location) ;</button>
        <button onclick="click5()">location.replace(location) ;</button>
            <script>
                function click1 () {
                    //刷新清缓存,相当于Ctrl+F5:location.reload(true)
                    //普通刷新:location.reload()
                    location.reload();
                }
                function click2(){
                    history.go(0);
                }
                function click3(){
                     location=location;
                }
                function click4(){
                    location.assign(location) ;
                }
                function click5(){
                    location.replace(location) 
                }
            </script>
        </body>
    </html>

     

    转载于:https://www.cnblogs.com/guofan/p/6773793.html

    展开全文
  • 首先说,为什么要用缓存的,由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者...

    为什么要用缓存?

    首先说,为什么要用缓存的,由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时(时间可以设置),则不再去执行view中的操作,而是直接从内存或者Redis中之前缓存的内容拿到,并返回。

    另外,缓存只是一类统称,一般其介质是速度很快的内存,但也可以是能加快数据读取的其它方式。

    什么时候适合用缓存?

    对页面实时性要求不高的页面,可以用缓存。比如博客文章,假设用户一天更新一篇文章,那么可以为博客设置1天的缓存;一天后会刷新。另外像购物网站,商品的描述信息几乎不会变化,而商品的库存数量却要求根据用户的购买实时更新,因此也应该应用合适的缓存策略。

    缓存的配置

    配置缓存提供了6种方式。

    开发调试

    内存

    文件

    数据库

    Memcache缓存(python-memcached模块)

    Memcache缓存(pylibmc模块)

    开发调试:

    说明:此为开始调试用,实际内部不做任何操作

    CACHES = {

    'default': {

    'BACKEND': 'django.core.cache.backends.dummy.DummyCache', # 引擎

    'TIMEOUT': 300, # 缓存超时时间(默认300秒,None表示永不过期,0表示立即过期)

    'OPTIONS':{

    'MAX_ENTRIES': 300, # 最大缓存个数(默认300)

    'CULL_FREQUENCY': 3, # 缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3),3:表示1/3

    },

    #这边只的是缓存的key:p1:1:func_name

    'KEY_PREFIX': 'p1', # 缓存key的前缀(默认空)

    'VERSION': 1, # 缓存key的版本(默认1)

    'KEY_FUNCTION':"func_name" # 生成key的函数(默认函数会生成为:【前缀:版本:key】)

    }

    }其他除了引擎不一样,其他的都是通用的,这边只的是缓存的key:p1:1:func_name的源码如下:所以我们就可以自定义这个key的格式。

    # 自定义key

    def default_key_func(key, key_prefix, version):

    """

    Default function to generate keys.

    Constructs the key used by all other methods. By default it prepends

    the `key_prefix'. KEY_FUNCTION can be used to specify an alternate

    function with custom key making behavior.

    """

    return '%s:%s:%s' % (key_prefix, version, key)

    def get_key_func(key_func):

    """

    Function to decide which key function to use.

    Defaults to ``default_key_func``.

    """

    if key_func is not None:

    if callable(key_func):

    return key_func

    else:

    return import_string(key_func)

    return default_key_func

    内存:

    注意是绝对位置(从根目录开始),必须保证服务器对你列出的路径具有读写权限

    #'LOCATION': 'c:\foo\bar',#windows下的示例

    说明:内存版本的时候,必须设置一个值,这个值是唯一的,此缓存将内容保存至内存的变量中

    CACHES = {

    'default': {

    'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',

    'LOCATION': 'unique-snowflake', #这边必须设置一个值,这个值是唯一的

    }

    #其他的配置和开发调试版本一样

    }

    文件:说明:此缓存将内容保存至文件

    CACHES = {

    'default': {

    'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',

    'LOCATION': '/var/tmp/django_cache', #缓存存放的路径

    }

    #其他的配置和开发调试版本一样

    }

    数据库:说明:此缓存将内容保存至数据库

    CACHES = {

    'default': {

    'BACKEND': 'django.core.cache.backends.db.DatabaseCache',

    'LOCATION': 'my_cache_table', # 设置一个数据库存放缓存的表名

    }

    #其他的配置和开发调试版本一样

    }

    # 注:执行创建表命令 python manage.py createcachetable

    Memcache缓存(python-memcached模块)

    说明:此缓存使用python-memcached模块连接memcache

    #单台机器

    CACHES = {

    'default': {

    'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',

    'LOCATION': '127.0.0.1:11211',

    }

    #其他的配置和开发调试版本一样

    }

    #存放本地的

    CACHES = {

    'default': {

    'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',

    'LOCATION': 'unix:/tmp/memcached.sock',

    }

    #其他的配置和开发调试版本一样

    }

    #支持集群,负载均衡

    CACHES = {

    'default': {

    'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',

    'LOCATION': [

    '172.19.26.240:11211',

    '172.19.26.242:11211',

    #设置权重

    #('172.19.26.240:11211',10),

    #('172.19.26.242:11211',20),

    ]

    }

    #其他的配置和开发调试版本一样

    }

    Memcache缓存(pylibmc模块)

    说明:此缓存使用pylibmc模块连接memcache

    # 此缓存使用pylibmc模块连接memcache

    CACHES = {

    'default': {

    'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',

    'LOCATION': '127.0.0.1:11211',

    }

    }

    CACHES = {

    'default': {

    'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',

    'LOCATION': '/tmp/memcached.sock',

    }

    }

    CACHES = {

    'default': {

    'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',

    'LOCATION': [

    '172.19.26.240:11211',

    '172.19.26.242:11211',

    ]

    }

    }

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

    展开全文
  • 一、引用css 时 后面?v=***表示什么?什么意义? 例如:href="/css/base.css?...大家可能时候发现修改了样式或者js,刷新的时候不变,就是客户端缓存了css或者js文件,因此加上参数还是好处的! 二、动态改...

    一、引用css 时 后面?v=***表示什么?有什么意义?

    例如:href="/css/base.css?v=2014.03"
    客户端会缓存这些css或js文件,因此每次升级了js或css文件后,改变版本号,客户端浏览器就会重新下载新的js或css文件 ,刷性缓存的作用。大家可能有时候发现修改了样式或者js,刷新的时候不变,就是客户端缓存了css或者js文件,因此加上参数还是有好处的!

    二、动态改变CSS的背景图片

     var  serial = "by";
      let src ='./qd/' + serial + '.png';
      $('.zy').css("background-image","url("+src+")")
      $('.by').css("background-color","#108EE9");
    

    三、css中*{}“ * ” 也是个选择器,代表所有。

     所以就是页面里的所有标签,后面大括号当然就是你要写的属性了。
    

    四、修改css的几种方式

    1、KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲bj"+newzhouD)[0…("#bz")[0].style.setProperty(‘width’,‘0.7rem’);
    $("#bz")[0].style.setProperty(‘height’,‘0.4rem’);
    $("#bz")[0].style.setProperty(‘margin-right’,‘0rem’);
    $("#bz")[0].src=‘gzhimg/bz.png’;
    3、html 标签id要唯一,命名格式要规范,一般我用单词的驼峰命名,图片用图片名字命名,id的命名首先要让自己知道其次再考虑他人,自己不知道下面用也不方便。input属性类型最多如date,tel等不同类型的input有不同的性质要灵活运用可以减少很多的工作量;
    4、css主要在于布局,盒子布局是调整居中对齐左右对齐最为常用的一种方法,设置边框要考虑后台传过来的字符长度,过长会影响到整个页面。超出换行、超出隐藏、超出变星星是常遇到的情况。一般再遇到变量的时候习惯性再外部再套一层div给定宽度已最外层div的长宽来设置内部的变量布局。
    5、ajax数据处理常遇到的就是数据转换字符转换为对象、对象转化为字符、字符、对象、数组的灵活转化,也就是JSON数据的处理。用到最多的就是for循环升序和降序要有一定的理解,之前一直都以为这两者就是一个遍历只是顺序不同,恰恰因顺序的不同也会改变数值的变化。

    五、JS怎么批量修改子元素样式?

    1

    2

    3

    444

    六、动态添加html

    var cent = $(“body”);
    var str = ‘’;
    str += “”;
    cent.append(str);
    var heizi = document.getElementById(‘heizi’);
    var baizi = document.getElementById(‘baizi’);

    七、JS渲染页面的方法加传参

    function apply(){
    for(var j=0;j<curriculum.length;j++){
    var i=j+1;
    curriculum[j].start_time=curriculum[j].start_time.substring(0,curriculum[j].start_time.length-3);
    curriculum[j].end_time=curriculum[j].end_time.substring(0,curriculum[j].end_time.length-3);
    var cent = $("#main");
    var str = ‘’;
    if(curriculum[j].is_leave0){
    newimg = “gzhimg/qj.png”;
    }else {
    newimg = “gzhimg/chqj.png”;
    }
    str +="


    “+i+”
    "+"
    "+curriculum[j].lesson_name+"
    "+"
    "+"
    "+curriculum[j].start_time+"
    "+"
    "+"-"+"
    "+"
    "+curriculum[j].end_time+"
    “+”
    "+"
    "+"
    "+curriculum[j].classroom_name+"
    "+"
    "+curriculum[j].teacher1_name+"
    "+"
    “;
    cent.append(str);
    $(‘body’).on(‘click’,”#"+i,function(e){
    var thisID = e.target.id-1
    if(curriculum[thisID].is_leave0){
    window.location.href=“askLeave.htm?cName=”+curriculum[thisID].lesson_name+"&sTime="+curriculum[thisID].start_time+"&eTime="+curriculum[thisID].end_time+"&claName="+curriculum[thisID].classroom_name+"&tName="+curriculum[thisID].teacher1_name+"&claDate="+curriculum[thisID].class_date+"&courseId="+curriculum[thisID].timetable_time_id;
    } else {
    window.location.href=“leaveDetails.htm?cName=”+curriculum[thisID].lesson_name+"&sTime="+curriculum[thisID].start_time+"&eTime="+curriculum[thisID].end_time+"&claName="+curriculum[thisID].classroom_name+"&tName="+curriculum[thisID].teacher1_name+"&claDate="+curriculum[thisID].class_date+"&courseId="+curriculum[thisID].timetable_time_id+"&content="+curriculum[thisID].leave_info.content;
    }
    });
    }
    }

    展开全文
  • 动态调整配置

    千次阅读 2011-06-20 21:58:00
    对于Hadoop集群这样的分布式系统,有些参数是需要经常调整的,但是又不想重启daemon进程。原因很明显,重启任何一个daemon进程...总结起来,要实现动态调整配置,大概以下几种方法:1、通过命令行方式手工刷新配置这

    对于Hadoop集群这样的分布式系统,有些参数是需要经常调整的,但是又不想重启daemon进程。原因很明显,重启任何一个daemon进程都是要付出代价的。例如重启master相当于停服务,集群直接不可用;重启TaskTracker会导致部分task失败重跑,延长job运行时间等。因此动态调整配置是迫切需要的。总结起来,要实现动态调整配置,大概有以下几种方法:

    1、通过命令行方式手工刷新配置

    这种方法的操作方式是首先将本地配置文件按照需要改好,然后执行命令行刷新配置。本质上是通过RPC通知daemon重新加载某些配置项并执行相关操作。常见的实例有,0.19的刷新NameNode的黑白名单:bin/hadoop dfsadmin –refreshNodes;0.20的刷新JobTracker的queue-acls:bin/hadoop mradmin –refreshQueueAcls (HADOOP-5396);以及0.21引入的刷新JobTracker的黑白名单bin/hadoop mradmin –refreshNodes (HADOOP-5643)等。这种方法用起来非常优雅,但扩展性不好,通常用来实现非常明确的重量级需求。

    2、通过网页修改配置

    这种方法的操作方式是打开daemon提供的servlet网页,输入相关配置项及参数,点击确定。即通过http的方式向daemon传递某些配置信息。常见的实例是更新log级别,即Hadoop的所有daemon都提供的logLevel服务。这种方式使用起来非常方便,但不能持久化保存,重启daemon就恢复,通常用来临时调整,如debug等。

    3、启用线程监控配置

    这种方法不需要刷新,确认等操作,只需要修改本地配置文件即可。通常的实现方式是在daemon进程中专门启动一个线程来监控配置文件,如果发现有改动就立即重新加载配置并执行相应操作。常见的实例是FairScheduler有一个update线程会定期检查fair-scheduler.xml文件修改时间,如果有改动就重新加载。这种方式非常适合需要经常修改的配置文件,而且很容易实现自动化配置。我们自己实现的用户身份验证、acl验证等都采用了这种方式。当然这种方式也有缺点,就是需要启动一个线程。因此实现时应尽量使用已有线程或其他定期触发事件。如HADOOP-4885实现了自动恢复NameNode Storage,就采用定期的Checkpoint事件来触发,避免了新增线程。

    4、通过网页确认修改

    HADOOP-7001引入了一种新的动态调整配置方法,即首先在daemon本地修改hadoop-site.xml等配置文件,然后打开servlet提供的网页查看并确认修改,进而触发相应的接口实现。这种方式具有很强的通用性,但是每个配置的修改都要自己实现。HDFS-1477采用HADOOP-7001的接口实现了一个动态修改NameNode心跳间隔的例子,但意义不大,没有被社区采纳。我们计划采用这种方式实现动态调整TaskTracker的map/reduce slots配置并将尽快反馈给社区。

    展开全文
  • 基于解耦合的考虑,Aria的下载功能是和状态获取相分离的,状态的获取并不会集成到链式代码中,但是Aria提供了另一更简单更灵活的方案。 通过注解,你可以很容易获取任务的所有状态。 将对象注册到Aria protected...
  • 1、每次改变信息等级后,要重新打开一次文件,目前不支持动态更新,以后机会完善此功能; 2、5个等级的信息对于分析时间的区分还是比较明显的,建议大家每次分析之前选择合适的等级; 3、FLVParse默认FLV文件只有...
  • Android中ListView中的item与activity的交互有几种方式:可以用回调,广播等,下面的方式是动态广播的方式 ListView中的item选中事件,比如有多个item,每个item中都有一个CheckBox,我们要只选择其中的一个,这是...
  • 为了解决这个问题,经过 vue 内部处理后可以使用以下几种方法来监听数组 <pre><code>js push(); pop(); shift(); unshift(); splice(); sort(); reverse(); </code></pre> 由于只针对了以上 7 种方法进行了 hack ...
  • JS多参数的传递和调用

    千次阅读 2012-10-18 11:54:35
    有几种方法可以实现,主要用到ASB和JS很简单。 方法一:通过ASP动态刷新网页调用 这种方式要刷新当前页面,如果当前页demo.asp还有其它一些东些不便于刷新,那么可以把ASP获取外部参数的代码以及ActiveX的部分放在
  • push机制

    2009-03-21 15:55:12
    关于push机制简单的谈谈,如错误希望大家指正   如果通过socket这个很好实现,设置监听就可以搞定。 ...!!   push 即数据响应方式从传统的...现在大体做法包括如下几种: 1.轮询机制,最常见的是页面定时刷新数据...
  • java面试宝典

    2013-02-28 16:04:01
    70、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 17 71、启动一个线程是用run()还是start()? 17 72、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 18 73...
  • 千方百计笔试题大全

    2011-11-30 21:58:33
    70、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 17 71、启动一个线程是用run()还是start()? 17 72、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 18 73...
  • java面试题典 java 面试题 经典

    热门讨论 2010-06-18 13:42:36
    解析XML文档几种方式? 13 39. JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗? 14 40. 一个".java"源文件中是否可以包括多个类(不是内部类)...
  • ARQ模型响应,UNA(此编号前所有包已收到,如TCP)和ACK(该编号包已收到),光用UNA将导致全部重传,光用ACK则丢失成本太高,以往协议都是二选其一,而 KCP协议中,除去单独的 ACK包外,所有包都UNA信息。...
  • sniffer使用教程

    2011-03-13 18:48:42
    注意这物理口与MAC的表与机器的ARP表一样是动态刷新的, 那机器发包后交换HUB就又记住他的口了,所以实际上是两个在争,这只能应用在只要收听少量包就可以的场合。 内部网基于IP的通信可以用ARP欺骗别人机器让其...
  • 4、网站采用三页面处理技术,可以生成纯静态网页模式、在不使用asp.net其余为静态插件的前提进行伪静态方式访问、前两者如都不用还可以用动态访问。 5、Angelcms在显示列表数量时,页面可选生成静态,大大减轻...
  • 文章管理系统

    2014-12-06 10:19:22
    2.[改进]为了系统安全和稳定去掉宇初验证码和印象码,加入4数字验证码、1中文验证码、1计算题验证码供用户选择 3.[改进]为了后台系统安全,后台登录页不用判断是否已登录状态并自动跳转到管理页 4.[改进]后台...
  • 动态编辑内容,用于刷新动态模版 否 disableAction boolean 禁止动态编辑操作 否 false clearActionBox boolean 清除动态编辑框 否 false imgErr function 图片生成失败,可以从 e.detail.error 获取错误信息...
  • 事实上JPA的几种数据查询方式存在青黄不接的问题。选择查询语言xxQL,项目面临后续维护困难,跨数据库移植性差;选择Criteria API,代码臃肿,操作繁琐,很多人望而却步。EF的设计思想是使人早日摆脱拼装SQL/HQL/...
  • 千里马酒店前台管理系统V7使用手册

    热门讨论 2011-06-16 14:09:38
    千里马的产品设计以当前最先进的酒店管理理论为基础,继承了千里马10多年来的优秀品质和丰富经验,同时也借鉴了国内外先进软件的功能特性,吸取了百家酒店客户的反馈意见,在保持千里马传统的“以财务为核心、前...
  • asp.net知识库

    2015-06-18 08:45:45
    动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个时间转换的问题,顺便谈谈搜索技巧 .net中的正则表达式使用高级技巧 (一) C#静态成员和...
  • 精迅CMS(Jxcms) 2.1 GBK.zip

    2019-05-25 01:50:42
    精迅CMS(Jxcms)是基于采用网络中已经成熟、稳定的技术PHP MYSQL开发...17、统一美观的分页功能,列表、内容页都统一美观的分页功能,支持静态html方式动态方式。 18、更多功能需要大家在使用过程中慢慢体会......
  • 精迅CMS(Jxcms)是基于采用网络中已经成熟、稳定的技术PHP MYSQL开发...17、统一美观的分页功能,列表、内容页都统一美观的分页功能,支持静态html方式动态方式。 18、更多功能需要大家在使用过程中慢慢体会......
  • 按钮颜色分为两,一是蓝色,一是红色。蓝色按钮是添加、修改之类较为安全,不会造成数据丢失的功能。红色按钮是删除、恢复之类若误操作会造成数据丢失的功能,故按钮使用颜色区分及配合对话框提示会最大程度...
  • C++ Primer Plus 中文版 第4版 清晰版

    千次下载 热门讨论 2009-12-06 14:45:21
    E.1.4 几种常用的按位操作技术 683 E.2 成员解除引用操作符 684 附录F string模板类 687 F.1 13种类型和一个常量 688 F.2 数据信息、构造函数及其他 689 F.2.1 默认构造函数 690 F.2.2 使用数组的构造...
  • 实例213 GridView合并行或列单元格的5通用方式 338 实例214 GridView删除数据时弹出确认对话框(含内容提示) 340 实例215 GridView数据源为空时显示表头和提示信息 341 实例216 创建表头固定、表体可滚动的GridView...
  • 实例213 GridView合并行或列单元格的5通用方式 338 实例214 GridView删除数据时弹出确认对话框(含内容提示) 340 实例215 GridView数据源为空时显示表头和提示信息 341 实例216 创建表头固定、表体可滚动的GridView...
  • 实例213 GridView合并行或列单元格的5通用方式 338 实例214 GridView删除数据时弹出确认对话框(含内容提示) 340 实例215 GridView数据源为空时显示表头和提示信息 341 实例216 创建表头固定、表体可滚动的GridView...

空空如也

空空如也

1 2 3 4 5
收藏数 96
精华内容 38
关键字:

动态刷新有几种方式