Redis作为hibernate的二级缓存的demo

1.使用背景

    因客户需求,需要将现在的项目缓存架构换掉,现在使用的memcached缓存服务器。由于memcached出现了一些bug,客户要求换成Redis缓存服务器。所用的项目是spring+springmvc+hibernate4.18架构。

2.引入jar包

    所需的jar:

Redis作为hibernate的二级缓存的demo_第1张图片

    或者使用maven下载依赖

  
    com.github.debop  
    hibernate-redis 
    2.3.2  
  
  
    org.redisson  
    redisson  
    2.5.1  
  
  
    de.ruedigermoeller  
    fst  
    2.48  
  

3.配置文件

    applicationContext.xml


	true
	true
	true
	hibernate
	org.hibernate.cache.redis.hibernate4.SingletonRedisRegionFactory
	hibernate-redis.properties

    hibernate-redis.properties

 # Redisson configuration file
 redisson-config=classpath:redisson.yaml

 redis.expiryInSeconds.default=120
 redis.expiryInSeconds.hibernate.common=0
 redis.expiryInSeconds.hibernate.account=1200
    redisson.yaml:这是单点的配置,若要配置分布式缓存,需修改,可参考其他资料
# redisson configuration for redis servers
# see : https://github.com/mrniko/redisson/wiki/2.-Configuration

singleServerConfig:
  idleConnectionTimeout: 10000
  pingTimeout: 1000
  connectTimeout: 1000
  timeout: 1000
  retryAttempts: 1
  retryInterval: 1000
  reconnectionTimeout: 3000
  failedAttempts: 1
  password: 123456
  subscriptionsPerConnection: 5
  clientName: null
  address: 
    - "redis://192.168.39.100:6379"
  subscriptionConnectionMinimumIdleSize: 1
  subscriptionConnectionPoolSize: 25
  connectionMinimumIdleSize: 5
  connectionPoolSize: 100
  database: 0
  dnsMonitoring: false
  dnsMonitoringInterval: 5000
threads: 0
# Codec
codec: ! {}
useLinuxNativeEpoll: false
eventLoopGroup: null

注意address的配置,配成数组格式,否则会报错。

4.hibernate实体类上加上@cache注解,在query查询上开启缓存就可以使用redis缓存了。

参考网址:http://wzalong.iteye.com/blog/2324290

                https://github.com/debop/hibernate-redis

                https://yq.aliyun.com/articles/551640#77

你可能感兴趣的:(redis,hibernate,redis,redisson)