当前位置:   article > 正文

认知redis并配置redis在java中的配置_redis max-wait 配置

redis max-wait 配置

Redis的一些文件配置

认知redis

  1. 为什么要用缓存?
    随着用户访问越来越多,数去数据库的并打越来越大。
    数据库的瓶颈在哪里?

    减少读写磁盘,使用内存数据库(redis)来进行提升性能

  2. 在什么地方使用缓存呢?
    分布式的系统有很多子系统,比如说: 前台系统、后台系统、用户系统
    后台使用缓存: 可以减少连接数据库,提高后台的性能
    前提使用缓存: 可以接口的访问并发调用,减少接口调用次数,来提高性能
    ……
    所以说,在所有的系统中使用缓存都可以提高性能

  3. 添加缓存的原则:
    不能影响原来的业务

  4. 添加缓存的步骤:
    a) 先从缓存中取出数据
    b) 判断数据是否能获取,如果获取到,则返回缓存中得数据
    c) 否则,从数据库中获取,返回内容

Redis缓存是一种根据根据key-map方式生成的缓存形式,一般数据会缓存到内存中,如果数据量比较大,可能需要进行相关设置,首先我们先尽心SSM框架集成Redis的一些配置。

redis导包

 <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-ehcache</artifactId>
        <version>1.0.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-redis</artifactId>
        <version>1.6.6.RELEASE</version>
    </dependency>
    <!-- redis客户端jar -->
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>2.8.0</version>
    </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

书写redis.properties配置文件

# 服务器地址
redis.host=192.168.1.103
# 密码
redis.pass=
# 本机地址
redis.hostName=127.0.0.1
# 端口号
redis.port=6379
# 闲置时间
redis.timeout=15000
redis.usePool=true

# 最大等待连接中的数量
redis.maxIdle=6
# 最大连接数据库连接数
redis.maxActive=100
# 连接超时的时间
redis.maxWait=3000
redis.minEvictableIdleTimeMillis=300000
redis.numTestsPerEvictionRun=3
redis.timeBetweenEvictionRunsMillis=60000
redis.testOnBorrow=true
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

在mybatis-config.xml中添加配置

<settings>

    <!-- 全局映射器启用缓存 *主要将此属性设置完成即可 -->
    <setting name="cacheEnabled" value="true" />

    <!-- 查询时,关闭关联对象即时加载以提高性能 -->
    <setting name="lazyLoadingEnabled" value="false" />

    <!-- 对于未知的SQL查询,允许返回不同的结果集以达到通用的效果 -->
    <setting name="multipleResultSetsEnabled" value="true" />

    <!-- 设置关联对象加载的形态,此处为按需加载字段(加载字段由SQL指 定),不会加载关联表的所有字段,以提高性能 -->
    <setting name="aggressiveLazyLoading" value="true" />
</settings>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在applicationcontext.xml添加配置

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
    <property name="ignoreResourceNotFound" value="true" />
    <property name="locations">
        <list>
            <value>classpath*:redis.properties</value>
        </list>
    </property>
</bean>

<!-- redis数据源 -->
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
    <property name="maxIdle" value="300" />
    <property name="maxTotal" value="100" />
    <property name="maxWaitMillis" value="10000" />
    <property name="testOnBorrow" value="true" />
</bean>

<!-- Spring-redis连接池管理工厂 -->
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
      p:host-name="localhost" p:port="6379" p:password=""  p:pool-config-ref="poolConfig"/>
<!-- 使用中间类解决RedisCache.jedisConnectionFactory的静态注入,从而使MyBatis实现第三方缓存 -->
<bean id="redisCacheTransfer" class="com.wuwei.console.config.RedisCacheTransfer">
    <property name="jedisConnectionFactory" ref="jedisConnectionFactory"/>
</bean>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

另外,在实体类中,需要对实体类进行继承序列化类

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/948877
推荐阅读
相关标签
  

闽ICP备14008679号