1、进程内缓存适用场景包括:只读数据、高并发场景、对数据一致性要求较低的业务。在分层架构中,站点与服务层应遵循无数据无状态原则,因此一般不推荐使用进程内缓存。分布式缓存是进程外缓存服务,拥有更大缓存容量,部署在不同物理节点,通过分布式架构实现。分布式缓存是独立的应用/服务,多个应用可直接共享。
1、缓存数据方式:MemcaChed缓存在MemCached server向系统申请的内存中。Ehcache可以缓存在内存(JVM中),也可以缓存在硬盘。通过CacheManager管理cache。多个CacheManager可配置在一个JVM内,CacheManager可管理多个cache。缓存过期移除策略:MemcaChed是LRU。Ehcache是LRU(默认),FIFO,LFU。
2、缓存以及分布式缓存:Ecache、Memcached、Redis等。web框架:WebWok、StrutsSpringMvc等。远程调用的相关的服务框架:dubbo、webService等。其他大大小小,在各领域发挥的有很多,如日志处理Log4J、sj4j,xml处理dom4j等等数不胜数。
3、最简单的办法就是使用Terracotta服务器集群tomcat,ecache、quartz、session一站式解决。不那样的,缓存的话,可用memcached。tomcat中的session是复制式,直接在tomcat配置文件就可以吧。如果要实现自己手动更新感觉可以考虑用jms手动传递数据同步。处理效率高了不少,并发效率好、数据更安全。
./ehcache_disk_store 里放的是两种类型的缓存文件,分别是:数据库二级缓存、文件服务器的缓存 操作时并不是直接修改 ./ehcache_disk_store 的路径,而是分别修改这两种缓存文件的路径。
使用cache.flush(),每次写入到cache后调用cache.flush() ,这样ehcache 会将索引(xxx.index)回写到磁盘。这样就不用担心程序是否非正常退出导致缓存丢失了。
ehcache初始化单个cache的时候会创建diskstore,diskstore的目录位置可以自己去设置,在Cache构造函数中可以指定;这样Cache的initialise方法会自动读取diskstore目录下对应的缓存的data和index文件然后加载到系统中,通过cache的get方法就能读取到disk中的数据。建议去看下ehcache的源代码,源代码还是比较清晰的。
Ehcache的CacheManager是通过Spring提供的EhCacheManagerFactoryBean来生成的,其可以通过指定ehcache的配置文件位置来生成一个Ehcache的CacheManager。若未指定则将按照Ehcache的默认规则取classpath根路径下的ehcache.xml文件,若该文件也不存在,则获取Ehcache对应jar包中的ehcache-failsafe.xml文件作为配置文件。
1、在Shiro中为会话启用Ehcache是非常容易的。首先,确保在你的classpath 中有shiro-ehcache-version.jar 文件。
2、多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。 Redis缺点: (1)单线程 (2)耗内存 Shiro ApacheShiro是Java的一个安全框架,旨在简化身份验证和授权。
3、第四阶段,Java高级框架-SSM:SpringMVC、Spring MVC生成JSON数据、MyBatis、MyBatis 环境配置及入门、Mybatis set标签、Mybatis trim标签、Shiro、Shiro快速入门教程、Shiro Web应用等。
本文暂时没有评论,来添加一个吧(●'◡'●)