java oscache 使用_使用OSCache进行简单的缓存

# CACHE KEY

#

# This is the key that will be used to store the cache in the application

# and session scope.

#

# If you want to set the cache key to anything other than the default

# uncomment this line and change the cache.key

#

# cache.key=__oscache_cache

# USE HOST DOMAIN NAME IN KEY

#

# Servers for multiple host domains may wish to add host name info to

# the generation of the key.  If this is true, then uncomment the

# following line.

#

# cache.use.host.domain.in.key=true

# CACHE LISTENERS

#

# These hook OSCache events and perform various actions such as logging

# cache hits and misses, or broadcasting to other cache instances across a cluster.

# See the documentation for further information.

#

# cache.event.listeners=com.opensymphony.oscache.plugins.clustersupport.JMSBroadcastingListener,  \

#                       com.opensymphony.oscache.extra.CacheEntryEventListenerImpl,               \

#                       com.opensymphony.oscache.extra.CacheMapAccessEventListenerImpl,           \

#                       com.opensymphony.oscache.extra.ScopeEventListenerImpl,                    \

#                       com.opensymphony.oscache.extra.StatisticListenerImpl

# CACHE PERSISTENCE CLASS

#

# Specify the class to use for persistence. If you use the supplied DiskPersistenceListener,

# don't forget to supply the cache.path property to specify the location of the cache

# directory.

#

# If a persistence class is not specified, OSCache will use memory caching only.

#

# cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener

# cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.HashDiskPersistenceListener

# CACHE OVERFLOW PERSISTENCE

# Use persistent cache in overflow or not. The default value is false, which means

# the persistent cache will be used at all times for every entry.  true is the recommended setting.

#

# cache.persistence.overflow.only=true

# CACHE DIRECTORY

#

# This is the directory on disk where caches will be stored by the DiskPersistenceListener.

# it will be created if it doesn't already exist. Remember that OSCache must have

# write permission to this directory.

#

# Note: for Windows machines, this needs \ to be escaped

# ie Windows:

# cache.path=c:\\myapp\\cache

# or *ix:

# cache.path=/opt/myapp/cache

#

# cache.path=c:\\app\\cache

# CACHE ALGORITHM

#

# Default cache algorithm to use. Note that in order to use an algorithm

# the cache size must also be specified. If the cache size is not specified,

# the cache algorithm will be Unlimited cache.

#

# cache.algorithm=com.opensymphony.oscache.base.algorithm.LRUCache

# cache.algorithm=com.opensymphony.oscache.base.algorithm.FIFOCache

# cache.algorithm=com.opensymphony.oscache.base.algorithm.UnlimitedCache

# THREAD BLOCKING BEHAVIOR

#

# When a request is made for a stale cache entry, it is possible that another thread is already

# in the process of rebuilding that entry. This setting specifies how OSCache handles the

# subsequent 'non-building' threads. The default behaviour (cache.blocking=false) is to serve

# the old content to subsequent threads until the cache entry has been updated. This provides

# the best performance (at the cost of serving slightly stale data). When blocking is enabled,

# threads will instead block until the new cache entry is ready to be served. Once the new entry

# is put in the cache the blocked threads will be restarted and given the new entry.

# Note that even if blocking is disabled, when there is no stale data available to be served

# threads will block until the data is added to the cache by the thread that is responsible

# for building the data.

#

# cache.blocking=false

# CACHE SIZE

#

# Default cache size in number of items. If a size is specified but not

# an algorithm, the cache algorithm used will be LRUCache.

#

cache.capacity=1000

# CACHE UNLIMITED DISK

# Use unlimited disk cache or not. The default value is false, which means

# the disk cache will be limited in size to the value specified by cache.capacity.

#

# cache.unlimited.disk=false

# JMS CLUSTER PROPERTIES

#

# Configuration properties for JMS clustering. See the clustering documentation

# for more information on these settings.

#

#cache.cluster.jms.topic.factory=java:comp/env/jms/TopicConnectionFactory

#cache.cluster.jms.topic.name=java:comp/env/jms/OSCacheTopic

#cache.cluster.jms.node.name=node1

# JAVAGROUPS CLUSTER PROPERTIES

#

# Configuration properites for the JavaGroups clustering. Only one of these

# should be specified. Default values (as shown below) will be used if niether

# property is set. See the clustering documentation and the JavaGroups project

# ([url]www.javagroups.com[/url]) for more information on these settings.

#

#cache.cluster.properties=UDP(mcast_addr=231.12.21.132;mcast_port=45566;ip_ttl=32;\

#mcast_send_buf_size=150000;mcast_recv_buf_size=80000):\

#PING(timeout=2000;num_initial_members=3):\

#MERGE2(min_interval=5000;max_interval=10000):\

#FD_SOCK:VERIFY_SUSPECT(timeout=1500):\

#pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800;max_xmit_size=8192):\

#UNICAST(timeout=300,600,1200,2400):\

#pbcast.STABLE(desired_avg_gossip=20000):\

#FRAG(frag_size=8096;down_thread=false;up_thread=false):\

#pbcast.GMS(join_timeout=5000;join_retry_timeout=2000;shun=false;print_local_addr=true)

#cache.cluster.multicast.ip=231.12.21.132

第二步:在web.xml进行一些简单的配置,oscache提供了强大的标签。主要是针对jsp的,如果项目中需把oscache.tld放到WEB-INF/classes下,在再web.xml中配置一下。

oscache

/WEB-INF/classes/oscache.tld

在jsp中应用的话,还需简单的引入。

具体的应用:。

以上是针对具体的页面的配置步骤。如果想针对某一页面的类型进行配置,可以利用过滤器来配置。比如我们想对以*.ftl和*.jsp的页面进行缓存的话,我们只需这样简单的配置在web.xml中。

CacheFilter

com.opensymphony.oscache.web.filter.CacheFilter

time

3600

scope

application

CacheFilter

*.ftl

CacheFilter

*.jsp

如果想对某一访问的路径action进行缓存的话,我们可以这样做,在一个jsp文件中简单的加上:

My JSP 'index.jsp' starting page

OSCache的配置比较活的,你可以根据你的情况进行相应的配置。它主要是针对页面级的对象。虽然它专门为jsp提供了强大的标签支持,并不意味着不能对ftl,php进行缓存的,我们可以用jsp中的标签来嵌套我们的返回不同的数据页面。比如上面的/view.do可以返回的是一个ftl页面,照样可以缓存。

要想对缓存有更深入的了解,可以查看源码,可能会帮助你更好的理解它的工作机制和原理。

简单的说,缓存就是Map,创建缓存就是添加一个map,使用就是通过key取value.

写的有不当之处,敬请提出,以待改正。避免初学者误解。Thank you.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值