hibernate-memcached(http://code.google.com/p/hibernate-memcached/
)是允许hibernate使用MemCached作为二级缓存的项目,它用到了spymemcached(http://code.google.com/p/spymemcached/
)这个MemCached的Java客户端。花了一点时间做了个补丁,让它也支持Whalin的Java客户端(http://whalin.com/memcached/
)。
所有的代码(包括原hibernate-memcached的所有源码)、javadoc及重新制作的发布包请见附件,限于篇幅就不具体说明了。以下是我更新过的hibernate-memcached的配置说明,原配置说明请参见http://code.google.com/p/hibernate-memcached/wiki/Configuration
If you are using Maven2 for your application build you can follow the instructions on the
MavenRepository
page. For those that aren't using Maven2 you'll need to collect a few
simple jars for yourself. I am going to assume you already have
hibenrnate3 setup before you came here.
You'll need...
If you are using spymemcached
as the MemCached client, you also need
or if you prefer Whalin's
memcached client for java
, you need to download java_memcached-release_2.0.1.jar from the
download page
according to your Java VM version.
The first thing to do is to tell hibernate which cache provider you'd like to use, and to enable the second level cache.
hibernate.cache.provider_class |
com.googlecode.hibernate.memcached.MemcachedCacheProvider |
Using just the property above you get
basic entity caching by default. The hibernate-memcached library
supports query caching, but you have to enable query caching
separately.
hibernate.cache.use_query_cache |
true |
!Now you can start setting up the
hibernate-memcached specific properties. The hibernate-memcached
properties are divided into two categories; cache-wide settings and
cache-region settings.
The cache wide settings all have
defaults can mostly be overwritten at a cache-region level. For both
spymemcached and Whalin's client, you can set:
Property
|
Default
|
Description
|
hibernate.memcached.servers |
localhost:11211 |
Space delimited list of memcached instances in host:port format |
hibernate.memcached.cacheTimeSeconds |
300 |
The default number of seconds items should be cached. Can be overriden at the regon level. |
hibernate.memcached.keyStrategy |
HashCodeKeyStrategy |
Sets the strategy class to to use for generating cache keys. Must provide a class name that implements KeyStrategy |
hibernate.memcached.clearSupported |
false |
Enables support for the MemcachedCache.clear() method for all cache
regions. The way clear is implemented for memcached is expensive and
adds overhead to all get/set operations. It is not recommended for
production use. |
For spymemcached, you can set:
hibernate.memcached.readBufferSize |
DefaultConnectionFactory.DEFAULT_READ_BUFFER_SIZE |
The read buffer size for each server connection from this factory |
hibernate.memcached.operationQueueLength |
DefaultConnectionFactory.DEFAULT_OP_QUEUE_LEN |
Maximum length of the operation queue returned by this connection factory |
hibernate.memcached.operationTimeout |
DefaultConnectionFactory.DEFAULT_OPERATION_TIMEOUT |
Default operation timeout in milliseconds |
hibernate.memcached.hashAlgorithm |
HashAlgorithm.KETAMA_HASH |
Which hash algorithm to use when adding items to the cache. Note: the
MemcachedClient defaults to using HashAlgorithm.NATIVE_HASH, while the
hibernate-memcached cache defaults to KETAMA_HASH for "consistent
hashing" |
For Whalin's client, you can set:
hibernate.memcached.weights
|
|
Space delimited list of server weights. If not set, all servers get the same weight
|
hibernate.memcached.errorHandler
|
com.googlecode.hibernate.memcached.
dangamemcached.SimpleErrorHandler
|
Error handler used by Whalin's client internally
|
hibernate.memcached.poolName
|
default
|
The name of SockIOPool
|
hibernate.memcached.initConn
|
1
|
Initial pool size
|
hibernate.memcached.minConn
|
1
|
Min pool size
|
hibernate.memcached.maxConn
|
10
|
Max pool size
|
hibernate.memcached.maxIdle
|
3000000
|
Max idle time for available sockets. Default 5 minutes
|
hibernate.memcached.socketTimeout
|
30000
|
Default timeout of socket reads. Default 30 seconds
|
hibernate.memcached.socketConnectTimeout
|
3000
|
Default timeout of socket connections. Default 3 seconds
|
hibernate.memcached.maintSleep
|
30000
|
Maintenance thread sleep time. Default 30 seconds
|
hibernate.memcached.compressEnable
|
true
|
If compression enabled
|
hibernate.memcached.defaultEncoding
|
UTF-8
|
Default encoding
|
Cache regon properties are set by
giving your cached data a "region name" in hibernate. You can tune the
MemcachedCache instance for your region using the following properties.
These properties essentially override the cache-wide properties above.
Property
|
Default
|
Description
|
hibernate.memcached.[region-name].cacheTimeSeconds |
none, see hibernate.memcached.cacheTimeSeconds |
Set the cache time for this cache region, overriding the cache-wide setting. |
hibernate.memcached.[region-name].keyStrategy |
none, see hibernate.memcached.keyStrategy |
Overrides the strategy class to to use for generating cache keys in
this cache region. Must provide a class name that implements
KeyStrategy |
hibernate.memcached.[region-name].clearSupported |
none, see hibernate.memcached.clearSupported |
Enables clear() operations for this cache region only. Again, the clear operation incurs cost on every get/set operation. |
分享到:
相关推荐
用于hibernate集成memcached作为二级缓存所需要的包,1.2.2版本
这个包是最高版本了,google code是1.22,但是这个版本是基础班的1.5版本.是github上源代码经过我打包出来的jar
hibernate-memcached-1.1.0-sources.zip
hibernate-memcached-1.1.0.jar
hibernate-memcached, 在Hibernate中,使用Memcached作为第二级分布式缓存的库 休眠 memcachedHibernate中使用...基于优秀的spymemcached客户端包含对 Whalin ( danga ) memcached客户端的支持支持实体和查询缓存。帮
java-memcached-2.6.6.jar
hibernate-memcached-1.1.0-javadoc.zip
memcached-2.5-sources.jar、hibernate-memcached-1.2.2-sources.jar、spy-2.4.jar这三个jar不太好找,剩下两个commons-codec和slf4j-log4j直接maven配置一下就行 <groupId>org.slf4j <artifactId>slf4j-log4j12 ...
安装php-memcached扩展 https://github.com/php-memcached-dev/php-memcached tar -zxvf ...-disable-memcached-sasl && make && make install
hibernate-memcached,一个分布式缓存框架,很强大,这里提供hibernate集成jar
google上的这个包最多是1.2.2但是github上是1.3,源代码下载下来后,我打包为jar的
python-memcached python-memcached
因为 mybatis-memcached 不支持 MyBatis2(iBatis),只能用在 MyBatis3 里。但是因为有的项目还跑在 MyBatis2 版本上,所以也做一个例子。 mm-mybatis3-memcached 使用了 mybatis-memcached 。因为 simple-spring-...
3.xmemcached,XMemcached也使用得比较广泛,而且有较详细的中文API文档,具有如下特点:高性 能、支持完整的协议、支持客户端分布、允许设置节点权重、动态增删节点、支持JMX、与Spring框架和Hibernate-memcached的...
hibernate-memcached-1.2.2.jar memcached-2.3.1.jar slf4j-api-1.7.12.jar slf4j-log4j12-1.5.0.jar
hibernate使用memcached作为...文件目录:commons-codec-1.10.jar、hibernate3-memcached-1.5.jar、hibernate4-memcached-1.0.jar、memcached-2.5.jar、slf4j-api-1.6.1.jar、spy-2.4.jar、memcached-win32-1.4.4-14.zip
该项在java-memcached客户端的基础上使用java5的注解和Sping/AspectJ的AOP,使能够在Sping中管理bean缓存。使用Simple-Spring-Memcached只需要简单的配置和在要缓存的方法的返回值或参数上标注上相应的注解就可以。
memcache客户端jar包: 1,java_memcached-release_2.6.6.jar 2,commons-pool-1.5.6.jar 3,slf4j-api-1.6.1.jar 4,slf4j-simple-1.6.1.jar
NULL 博文链接:https://dixian.iteye.com/blog/930677
支持活动,时间超过30天,可以用于生产。 安装 npm install catbox-memcached2 用法 选项 location -Memcached服务器位置。 默认localhost:11211 partition缓存键前缀。 Catbox将分区设置为catbox如果未定义),...