缓存

  • Session or Cookie?是否需要用Tomcat等Web容器的Session

    Cookie是HTTP协议标准下的存储用户信息的工具,浏览器把用户信息存放到本地的文本文件中. Session是基于Cookie实现的. 2011年4月,武汉群硕面试的时候(实习生),面试官也问过这个问题. 当时只知道Session是基于Cookie的,但是没有想到"不使用Tomcat等Web容器的Session,只使用Cookie也可以实现自己的Session,完成会话管理,而且据说性能更好." 以前的做法: 使用HttpRequestSession保存用户信息,非常方便. 配置一个

    redis, Session, Cookie, 缓存, HTTP协议May 3

  • OpenJDK源码研究笔记(五)-缓存Integer等类型的频繁使用的数据和对象,大幅度提升性能(一道经典的Java笔试题)

    摘要 本文先给出一个看似很简单实则有深意的Java笔试面试题,引出JDK内部的缓存. JDK内部的缓存,主要是为了提高Java程序的性能. 你能答对这道"看似简单,实则有深意"的Java题目? 我们首先来看一个简单的程序: public class IntCacheDemo { /** * 一道经典的Java笔试面试题 */ public static void main(String[] args) { Integer a = 2013; Integer b = 2013; if (

    openjdk, 性能优化, 缓存, 代码示例, Java笔试题May 3

  • 2015年工作中遇到的问题:21-30(这10个问题很有价值)

    21.mysql数据库的数据类型numberic和double是不同的. numberic只能表达最长65位精度的定点数 而double可以描述的是允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308.0和2.2250738585072014E-308到 1.7976931348623157E+308 虽然numberic的小数位数可以更长些,但是表达的值的范围远不及double. 就这些区别. 不能光考虑精度,同时要考虑值域范围. 另外一

    nginx, Session, 缓存, 浮点数比较May 3

  • 如何禁用ECSHOP缓存,如何关闭ECSHOP缓存

    熟悉ECSHOP的老站长们都知道,ECSHOP是有缓存机制的. ECSHOP的缓存机制从一定程度上可以减少ECSHOP反复读取数据库的几率,从而一定程度上降低服务器负担,提高访问速度. 但是启用缓存机制,对一些新手站长也有不利的地方.我就遇到很多新手站长经常问,我明明修改了什么什么,为什么前台就没变化呢,这就是缓存在作怪,一般到后台清除缓存就可以了. 鉴于上述原因,有一些站长就在想能不能"禁用ECSHOP缓存,关闭ECSHOP缓存"呢?答案是肯定的. 下面就来讲一讲"如何禁用

    ecshop, 缓存April 30

  • 变态的静态资源缓存与更新
    变态的静态资源缓存与更新

    这是一个非常有趣的 非主流前端领域,这个领域要探索的是如何用工程手段解决前端开发和部署优化的综合问题,入行到现在一直在学习和实践中. 在我的印象中,facebook是这个领域的鼻祖,有兴趣.有梯子的同学可以去看看facebook的页面源代码,体会一下什么叫工程化. 接下来,我想从原理展开讲述,多图,较长,希望能有耐心看完. 让我们返璞归真,从原始的前端开发讲起.上图是一个"可爱"的index.html页面和它的样式文件a.css,用文本编辑器写代码,无需编译,本地预览,确认OK,丢到服

    缓存, 浏览器缓存, 缓存更新, 静态缓存April 22

  • Redis数据持久化

    总的来说有两种持久化方案:RDB和AOF RDB方式按照一定的时间间隔对数据集创建基于时间点的快照. AOF方式记录Server收到的写操作到日志文件,在Server重启时通过回放这些写操作来重建数据集.该方式类似于MySQL中基于语句格式的binlog.当日志变大时Redis可在后台重写日志. 若仅期望数据在Server运行期间存在则可禁用两种持久化方案.在同一Redis实例中同时开启AOF和RDB方式的数据持久化方案也是可以的.该情况下Redis重启时AOF文件将用于重建原始数据集,因为叫R

    缓存, 持久化, 灾备April 15

  • Redis数据库学习(1)

    Redis学习 由于工作需要,会使用缓存机制,目前比较流行的Redis数据库成为不错的选择.主要Redis的特性进行阐述,然后对Redis在缓存方面的特性做深入理解. Redis属于NoSQL之一,NoSQL主要用于解决以下问题. 1:少量数据存储,高速读写访问.此类产品通过数据全部in-momery 的方式来保证高速访问,同时提供数据落地的功能,实际这正是Redis最主要的适用场景. 2:海量数据存储,分布式系统支持,数据一致性保证,方便的集群节点添加/删除. 总结: 1.Redis使用最佳方

    redis, 缓存March 31

  • 几个著名的Java开源缓存框架

    OSCache OSCache是个一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案. OSCache有以下特点:缓存任何对象,你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓 存.拥有全面的API--OSCache API给你全面的程序来控制所有的OSCache特性.永久缓存--缓存能随意的写入硬盘,因此允许昂贵的创建(expensive-to- create)数据来保持缓存,甚至能让应用重启.支持集群--集群缓存数据

    缓存, 缓存框架March 16

  • mybatis缓存原理
    mybatis缓存原理

    缓存概述 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持: 一级缓存基于 PerpetualCache 的 HashMap 本地缓存,其存储作用域为 Session,当 Session flush 或 close 之后,该Session中的所有 Cache 就将清空. 二级缓存与一级缓存其机制相同,默认也是采用 PerpetualCache,HashMap存储,不同在于其存储作用域为 Mapper(Namespace),并且可自定义存储源,如 Ehcache.Haz

    缓存, MybatisMarch 11

  • HTTP 缓存(上)
    HTTP 缓存(上)

    在写web前端页面时把自己的修改提交到了web服务器,但是有时在刷新前端页面时,往往发现显示的内容并不是修改后的内容,为什么呢? 这个时候的解决方法就是删除浏览器缓存,然后再重新刷新,就可以看到修改后的内容了,浏览器到底做了什么使得修改没在页面中呈现,缓存到底是什么东东等等,带着这些疑问,开始了HTTP缓存学习之旅. 缓存是什么? Web缓存是可以自动保存常见文档副本的HTTP 设备.当Web请求抵达缓存时,如果本地有"已缓存的"副本,就可以从本地设备而不是服务器中提取这个文档.

    缓存, HttpMarch 6

  • nutz,今晚来一发(19): nutz和缓存怎么玩?

    nutz dao 支持缓存不? nutz mvc 支持cache不? ------------------------------突然发现很久没写的分割线------------------- 上期答案: nutzmole及QQ群共享里面的一大堆bean生成工具

    nutz, 缓存February 10

  • 浏览器缓存详解
    浏览器缓存详解

    最近在对CDN进行优化,对浏览器缓存深入研究了一下,记录一下,方便后来者 画了一个草图: 每个状态的详细说明如下: 1.Last-Modified 在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的属性标记(HttpReponse Header)此文件在服务期端最后被修改的时间,格式类似这样: Last-Modified:Tue, 24 Feb 2009 08:01:04 GMT 客户端第二次请求此URL时,根据HTTP协议

    浏览器, 缓存January 13

  • WordPress缓存插件WP-Super-Cache安装使用

    WP-Super-Cache插件使用:(wp-postviews插件会无法统计) ①前提是固定链接不可用默认的,上传WP-Super-Cache插件,不要急着启用. ②赋予以下权限:给wp-super-cache文件夹添加写权限.给wp-content文件夹添加写权限.在wp-content文件夹下新建cache文件夹并添加写权限. ③在网站根目录wp-config.php文件中define('DB_NAME'的上一行添加如下代码(也就是添加在wp-config.php文件中语句的最前面)def

    wordpress, 缓存, WP-Super-CacheDecember 18

  • 用django-pipeline为静态文件添加hash

    用django-pipeline为静态文件添加hash 为什么需要hash静态文件? 请看大公司里怎样开发和部署前端代码? 张云龙的答案. 这样,当静态文件有修改时,会很方便的拿到最新的修改版本,而未修改的静态文件则依然使用缓存.这样避免了修改后用户静态文件不更新的尴尬,并且可以充分利用缓存. demo django_pipeline_demo 安装 sudo mkdir /opt/projects git clone https://github.com/duoduo369/django_pi

    django, 缓存, 静态文件October 31

  • 关于游戏服务器中缓存的设计方案的讨论

    (只针对游戏服务器中的热数据)游戏服务器的缓存设计总体大概有三种类型:进程内缓存--如java的ehcahe. 进程内缓存--使用会话session Cache,通过语言的基础类型和基础的集合框架来定制 .分布式缓存-- 如redis ,memcahced. 这三种类型各有个的好处,根据不同的应用场景,可以单独使用,也可以相互结合处理. 通过三方框架来做进程内缓存,和定制session cache,在一定程度上有着快而且高效的显著效果,但是不利于做分布式,使用分布式缓存 在一定程度上会造成IO上

    服务器, 游戏, 设计, 缓存October 31

  • 缓存相关代码的演变

    问题引入 上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲. 该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲. 当然去看相关实现代代码的时候,大致是下面的样子. public void saveSomeObject(SomeObject someObject){ MemCacheUtil.put("SomeObject",someObject.getId(),someObj

    memcache, redis, 框架, 缓存, tinySeptember 28

  • pgfincore

    一.系统 # cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m # uname -a Linux barman 2.6.32-431.11.2.el6.x86_64 #1 SMP Tue Mar 25 19:59:55 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux # cat /etc/hosts 二.安装 2.1 简介 With PostgreSQL, each Table or Inde

    postgresql, 缓存, pgfincoreSeptember 15

  • 高性能网络编程7--tcp连接的内存使用
    高性能网络编程7--tcp连接的内存使用

    当服务器的并发TCP连接数以十万计时,我们就会对一个TCP连接在操作系统内核上消耗的内存多少感兴趣.socket编程方法提供了SO_SNDBUF.SO_RCVBUF这样的接口来设置连接的读写缓存,linux上还提供了以下系统级的配置来整体设置服务器上的TCP内存使用,但这些配置看名字却有些互相冲突.概念模糊的感觉,如下(sysctl -a命令可以查看这些配置): net.ipv4.tcp_rmem = 8192 87380 16777216 net.ipv4.tcp_wmem = 8192 65

    memory, tcp, linux, kernel, 缓存August 24

  • hibernate进阶知识

    悲观锁假定其他用户企图访问或者改变你正在访问.更改的对象的概率是很高的,因此在悲观锁的环境中,在你开始改变此对象之前就将该对象锁住,并且直到你提交了所作的更改之后才释放锁.悲观的缺陷是不论是页锁还是行锁,加锁的时间可能会很长,这样可能会长时间的限制其他用户的访问,也就是说悲观锁的并发访问性不好. 与悲观锁相反,乐观锁则认为其他用户企图改变你正在更改的对象的概率是很小的,因此乐观锁直到你准备提交所作的更改时才将对象锁住,当你读取以及改变该对象时并不加锁. 事务:用户定义的一个数据库操作序列,是不可

    缓存, Hibernate, 并发控制May 25

  • jQuery.get请求缓存问题

    $.get(url, params, function(){}) 在页面通过脚本请求验证某记录是否有特定属性,用户A提交时未发现特定属性,用户B在不同设备添加了特定属性,用户A再次提交时仍未发现特定属性,导致提交数据异常. get方式浏览器默认缓存请求,不需要缓存时尽量采用$.post()或$.ajax(),缓存导致的问题不仅仅在用户并发时出现.

    缓存, get请求May 23

  • 304 Not Modified 的意思 (Web的Cache问题)

    最近在观察咱网站Web的Cache问题,又进一步理解了 HTTP 中的 304 又有了一些了解. 304 的标准解释是:Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档).服务器告诉客户,原来缓冲的文档还可以继续使用. 如 果客户端在请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么在请求中会包含 If Modified Since ,这个时间就是缓存文件的 Last M

    cdn, 缓存, WebCacheMarch 9

  • Hibernate缓存测试小总结

    一级缓存测试: 1.Load测试: 在同一个session中发出两次load查询(1) 2.Get测试: 在同一个session中发出两次get查询(1) 3.iterate测试: 在同一个session中发出两次iterator查询(1(id)+N,1(id)) 4.Iterate查询属性测试: 同一个session中发出两次查询属性(2次,iterate查询普通属性,一级缓存不会缓存,所以会发出sql) 5.同一个session中先save,再发出load查询save过的数据--save是使

    缓存, HibernateMarch 2

  • JSP 禁止页面缓存,修复浏览器后退造成的权限 BUG

    这里只需要在 JSP 代码块当中加入 <% response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setHeader("Cache-Control", "no-store"); response.setDateHeader("Exp

    jsp, 缓存, 浏览器返回February 25

  • 服务器更新宕机-自我检讨
    服务器更新宕机-自我检讨

    昨天晚上对 yi18.net (医药吧网站 ) 做 了代码的更新,更新运行正常.本以 晚上做服务器的更新时最好的,但我错了,并不是晚上更新服务器不好.对于那些 大量用户的网站,白天更新对用户使用很受影响.但对于我这个个人网站现在日访 问量还不到100的网站其实影响不大. 我在快晚上12点时,对网站做了更新,一切很好!就开开心心的睡觉去了,当然 还做了一个美梦.早上噩梦就来了,网站不知什么时候宕掉了.于是就开始查找 问题,结果发现宕机时间是网站更新后的一个小时,为什么是一个小时?由于我的 网站做了

    缓存, 服务器.mysqlFebruary 20

  • Varnish代理缓存详解
    Varnish代理缓存详解

    Varnish理论知识 一.Varnish 简介 Varnish 是一款高性能且开源的反向代理服务器和 HTTP 加速器,其采用全新的软件体系机构,和现在的硬件体系紧密配合,与传统的 squid 相比,varnish 具有性能更高.速度更快.管理更加方便等诸多优点,很多大型的网站都开始尝试使用 varnish 来替换 squid,这些都促进 varnish 迅速发展起来. 挪威的最大的在线报纸 Verdens Gang(vg.no) 使用 3 台 Varnish 代替了原来的 12 台 Squi

    varnish, 缓存, 代理January 3

  • memcached 和它的代理

    1.编译libevent ./configure --prefix=xxx make && make install 2.编译memcached ./configure --prefix=xxx make && make install 3.启动memcached 服务器端的命令为: # /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.p

    proxy, memcached, 缓存, 代理, 集群December 24

  • Varnish调优手记

    最近公司做活动推广,流量暴增,后端服务器压力山大,导致用户的请求响应时间延长,客户因此抱怨声音很大. 为尽快解决问题,在安排人员不断优化后端代码的同时,考虑在nginx前增加varnish缓存层,只透传部分动态请求过去,直接减少后端服务器的压力. 在实际使用中,真正感受到了varnish服务器强大的威力!在不断的调优缓存命中率后,后端服务器cpu直接从80%降到了20%,再大的并发前端也可以直接消化,后端服务器表示毫无压力.有了这玩意,可以再也不用在后台写定时任务,不断重新生成静态页面了,直接丢

    varnish, 缓存, 反向代理November 22

  • JAVA中cache的处理 简单实现

    互联网网站开发过程中,性能是比较重要的部分.一般情况下会考虑使用缓存,一般会在前台页面(jsp)使用一级缓存,而在管理后台的dao层使用二级缓存. 以下是cache处理的简单实现: public class Cache { private String key; private Object value; private long timeOut; private boolean expired; public Cache() { super(); } public Cache(String k

    缓存, Cache, 简单实现, JAVA中cache的处理November 19

  • 测试系统磁盘预读对PostgreSQL性能的影响

    上次去杭州,德哥跟我谈起批量写入性能很低的问题.这跟PG设计有关,每次I/O都以块为单位,批量写入时需要新空间同样一次扩展一个块.最近一直在考虑怎样改进,个人觉得读取有类似问题,对于BAS_BULKREAD(缓存访问策略之一)方式一次读入一个块肯定不如一次读入多个块,至少可以省下一些磁盘寻道与回转(见机械磁盘原理)时间.很久以前使用Oracle,它有一次读入多少个数据块的设置,现在这个参数应该还在.缓存写出的改写非常复杂,它也绕不开块批量读入这个问题.出于这几点考虑,我想当然的认为既然对读取同样

    postgresql, 缓存, 磁盘November 18

  • PostgreSQL完全刷缓存补丁

    本文及其附件以PostgreSQL协议发布 曾经有朋友问过如何把缓存清空,没有这个功能,测试的时候非常不方便. 我做了一个补丁抛砖引玉,见附件. 提供两个SQL命令,尽量兼容Oracle: 1.ALTER SYSTEM CHECKPOINT; 这个其实就是将 CHECKPOINT 封装到一个新语法,没什么改动. 2.ALTER SYSTEM FLUSH SHARED_BUFFER / BUFFER_CACHE; 清空数据库缓存,将发生修改的数据刷到硬盘,脏块写出功能仍然是调用PG核心代码. 主要

    postgresql, 缓存November 13

  • 解决修改properties 属性文件存在缓存问题,附带操作properties文件工具类

    在做项目的时候有些数据不一定需要在数据库管理,例如数据库连接,定时任务等等的配置..有时候需要动态修改这些数据,但在修改完后,再次获取时出现问题. 在项目中要修改properties,修改之后,再进入相关目录查看properties文件,发现内容已经修改了,但是但通过TaskController.class.getResourceAsStream("/config.properties");获取的数据时,还是没有改变前的数据. 原因是:.getResourceAsStream是通过缓存

    j2ee, Java, Web, 缓存, 属性文件November 11

  • Web开发基本准则-55实录-缓存策略
    Web开发基本准则-55实录-缓存策略

    续上篇<Web开发基本准则-55实录-Web访问安全>. Web开发基本准则-55实录-缓存策略 郑昀 创建于2013年2月 郑昀 最后更新于2013年10月26日 提纲: Web访问安全 缓存策略 存储介质连接池 业务降级 并发请求的处理 关键词: 会话串号,Cache-Control头域,缓存穿透,缓存集体失效,缓存重建,缓存雪崩,缓存永不过期,缓存计数器, 二,缓存策略 这里的"缓存"概念不只限于服务器端的"缓存". 2.1.防会话串号 如果你收到

    Web开发, 缓存, 开发准则October 30

  • 手动释放缓存
    手动释放缓存

    手动释放缓存 /proc/sys/vm/drop_caches的用法: 将数值[1.2.3]写入到此文件/proc/sys/vm/drop_caches,会使内核删除内存中所有的缓存.dentries.inodes,从而释放内存. 释放 pagecache, /bin/sync&&echo 1 > /proc/sys/vm/drop_caches 释放 dentries and inodes, /bin/sync&&echo 2 > /proc/sys/vm/d

    缓存, /proc/sys/vm/drop_cachesOctober 24

  • hazelcast高可用性详解
    hazelcast高可用性详解

    1. Elastic Memory(弹性内存) Hazelcast 默认存储分布式数据(map entries, queue items)在可以进行GC的java heep中.由于你的heep越来越大,进行GC时可能导致你的应用暂停服务10秒,因此影响了你的应用的体验性和响应时间.弹性内存是hazelcast使用off-heap进行存储以避免GC时造成的暂停服务.即使你有频繁更新TB级别的内存数据,GC时几乎不会造成影响:从而使你的应用有可预见的延时和吞吐量. 每个map可以配置为off-hea

    缓存, 分布式缓存, hazelcastOctober 11

  • Discuz论坛更新缓存提示:Table 'common_member_archive' do...

    Discuz论坛更新缓存提示:Table 'common_member_archive' doesn't exist,解决方法如下: 1.FTP找到论坛路径config下名为config_global.php的文件.找到如下代码: $_config['admincp']['runquery'] = '0'; 将代码修改为: $_config['admincp']['runquery'] = '1'; 2.打开论坛后台中的站长---数据库---升级---复制以下数据库语句执行. DELETE FR

    discuz, 缓存, common_member_archiveSeptember 30

  • LocalCache

    引言 一般来说,应用中的数据主要来自于数据库和缓存,现有的缓存中间件已经能满足大多数场景,但是有些场景更适合做服务器本地缓存,这就需要自己去实现了,这里给出了方攀的一个LocalCache的例子,并已在应用中得到了很好的应用. 关键词介绍 1.SoftReference 只要有足够的内存,就一直保持对象,直到发现内存吃紧且没有Strong Ref时才回收对象,结合超时时间可以用来实现缓存. 2.ReferenceQueue 使得对象即使被GC了也可以持有ref,结合HashMap可以缩小键-值映

    jvm, 缓存, Cache, SoftReferenceSeptember 26

  • 使用租约机制解决缓存数据更新的问题

    在最近的工作中,遇到如下的问题: 在设备每次向后台发出请求后,后台在处理请求前的重要一项就是:验证设备编号.在最初的设计中,采用每次都去数据库查询继续验证,在设备数量少的情况下,这种处理的问题是不会显现的,但是,当存在大量设备并对后台服务端的处理能力提出要求的时候,这种机制就会成为其中的瓶颈.一是,这样会不断的打开和关闭数据库连接:二是,若存储设备的数据表过大,也会对服务端的处理能力造成影响. 最初提出的方案是:在服务端程度启动后,就将设备表中的所有设备基础信息读取到内存中,这样就避免了每次都访

    缓存, 租约机制September 8

  • 在RHEL/CentOS 6.3/5.6和Fedora 17/12上安装APC
    在RHEL/CentOS 6.3/5.6和Fedora 17/12上安装APC

    在RHEL/CentOS 6.3/5.6和Fedora 17/12上安装APC(可选的PHP缓存) APC(可选的PHP缓存)是一个免费,开源的PHP代码缓存.这个模块的主要目的是提供一个健壮的框架来缓存和优化PHP代码. 在Linux上安装和开启PHP APC 该说明文档描述了如何在RHEL 6.3/6.2/6.1/6/5.8/5.6,CentOS 6.3/6.2/6.1/6/5.8/5.6和Fedora 17,16,15,14,13,12上使用PECL命令从代码仓库中下载,安装以及开启APC

    apc, opcode, 缓存June 29

  • python 缓存机制

    今天在看< python高级编程> python缓存这一小节.在这里记录下学习笔记. 什么是缓存大家都明白,就是对某一个复杂的计算进行缓存,等待下一次请求的时候可以避免再次计算而直接返回结果.这样可以改善程序的性能 . 一.最基础的缓存 看<python高级编程> 中的程序例子: #!/usr/bin/python # -*- coding:utf8 -*- import time import hashlib import pickle from itertools import

    python, 缓存June 7

  • php 缓存机制:输出控制

    [本文参考php官方文档] 1. 运行时配置(php.ini) output_buffering = Off display_errors = On 2. 函数说明 (1)bool ob_start ([ callback $output_callback [, int $chunk_size [, bool $erase ]]] ) 此函数将打开输出缓冲.当输出缓冲是活跃的时候,没有输出能从脚本送出(除http标头外),相反输出的内容被存储在内部缓冲区中.内部缓冲区的内容可以用 ob_get_

    PHP, 缓存, ob_start, 输出控制May 20

  • hibernate一级缓存和二级缓存的区别

    缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能.缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据. 缓存的介质一般是内存,所以读写速度很快.但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质.缓存的实现不仅仅要考虑存储的介质,还要考虑到管理缓存的并发访问和缓存数据的生命周期. Hibernate的缓存包括Session的缓存和SessionFactory的缓

    缓存May 13

  • MyBatis的缓存配置(Cache)

    一.MyBatis的Cache配置 1.全局开关:默认是true,如果它配成false,其余各个M appe r XML 文件配成支持 cache也没用 . <settings> <setting name="cacheEnabled " value="true"/> </settings> 2. 各个 Mapper XML文件,默认是 不采用cache.在配置文件 加一行就可以支持cache: <cache /> 3

    Java, 缓存, MybatisApril 22

  • hibernate查询与缓存

    Hibernate查询 首先介绍get()和load()方法的区别: get()方法和load()方法的区别主要在于对二级缓存的使用上. load()方法会使用二级缓存,而get()方法在一级缓存没有找到会直接查询数据库,不会去二级缓存中查找. get():如果在数据库中没有记录会返回空,get()无论如何都会返回数据. load():如果数据库中没有记录会抛出异常,如果有数据返回的是一个代理对象. get()方法默认不支持lazy(延迟加载)功能,而load支持延迟加载 get()方法在查询不

    缓存, HibernateApril 12

  • Ehcache ,C3p0 pool

    ----------------------*hibernate.cfg.xml---------------------------------- <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http

    ehcache, 连接池, 缓存March 26

  • LOCK/UNLOCK TABLES 妙用

    用MyISAM 是为是速度,万一要atomic,我们可用LOCK/UNLOCK TABLES 解决. 但不为atomic,用LOCK/UNLOCK TABLES 还可对MyISAM表,再提速(和key cache有关)

    MySQL, 优化, 缓存February 28

  • redis(3):redis如何做队列

    前言:缓存不仅可以减少数据库的查询读取压力,还可以减少db的写入io压力 方案:缓存实时更新数据,并将更新记录写入队列,db异步更新, 1.可以使用类似mq(如rabbitmq)队列软件 2.redis自行建队列 (注意要使用increment来维持队列序号:具体原因如下:使用 get 后处理数据再set的方式维护队列,会因为并发导致数据丢失. 示例说明: ab测试下面的脚本,并发100,跑10000次 一.get& set脚本 ab -n 10000 -c 100 http://127.0.0

    redis, 队列, 缓存January 31

  • 为什么修改hosts不立即生效?--浏览器DNS缓存机制分析
    为什么修改hosts不立即生效?--浏览器DNS缓存机制分析

    经常做Web开发的工程师,都会遇到需要将某个域名绑定到特定IP上,进行测试的情况.大家一般都会用修改hosts文件的方式来解决,但是经常也会遇到修改hosts不生效的情况,而且有时生效,有时不生效的情况也有发生,这到底是为什么呢? 起:DNS缓存机制 关于DNS缓存的机制,有一篇非常详细的文章What really happens when you navigate to a URL. 简单来说,一条域名的DNS记录会在本地有两种缓存:浏览器缓存和操作系统(OS)缓存.在浏览器中访问的时候,会优

    浏览器, 缓存, DNSDecember 29

  • 清除应用程序所有缓存

    /* * 文 件 名: DataCleanManager.java * 描 述: 主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录 */ package com.test.DataClean; import java.io.File; import android.content.Context; import android.os.Environment; /** * 本应用数据清除管理器 */ public class DataCle

    清除, 缓存, 应用程序, 所有December 28

  • 使用数据库做缓存

    1.首先建表:在SQCWorld这个项目中,需要的数据有首页展示和详细页数据,目前就这两个了. 2.首页展示的字段主要有:标题,图片,ID_main,创建时间:(ID_main的作用是筛选详细页的信息,作为外键) 3.详细页的字段主要有:文字,图片,ID_main,创建时间: 4.根据需要可以得出结论:建两个表,其实就是和parse的表一样了,呵呵. 5.第一步指定一个数据库路径: #define PATH_OF_DOCUMENT [NSSearchPathForDirectoriesInDom

    ios, 数据库, 缓存December 16

  • OSCache 缓存重建在 Race Condition 下的 NRE 问题

    @郑昀汇总 一,现象: 高并发情况下,使用 OSCache 作为本地缓存中间件的前端服务,日志文件中会出现大量如下错误信息: 异常堆栈: java.lang.IllegalStateException: Cannot complete cache update - current state (2) is not UPDATE_IN_PROGRESS at com.opensymphony.oscache.base.EntryUpdateState.completeUpdate(EntryUpd

    oscache, Java, 缓存, 缓存重建December 11