首页 > 其他 > 详细

商铺项目(Redis缓存)

时间:2017-10-21 23:16:06      阅读:415      评论:0      收藏:0      [点我收藏+]

AOF,RDB是两种 redis持久化的机制。用于crash后,redis的恢复。

两种区别就是,AOF是持续的用日志记录写操作,crash后利用日志恢复;RDB是平时写操作的时候不触发写,只有手动提交save命令,或者是关闭命令时,才触发备份操作。

选择的标准,就是看系统是愿意牺牲一些性能,换取更高的缓存一致性(AOF),还是愿意写操作频繁的时候,不启用备份来换取更高的性能,待手动运行save的时候,再做备份(RDB)。RDB这个就更有些 eventually consistent的意思了。

先讲讲配置:

技术分享

<!-- redis客户端:Jedis -->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.9.0</version>
        </dependency>

技术分享

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">
    <!-- Redis连接池的设置 -->
    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <!-- 控制一个pool可分配多少个jedis实例 -->
        <property name="maxTotal" value="${redis.pool.maxActive}" />
        <!-- 连接池中最多可空闲maxIdle个连接 ,这里取值为20,表示即使没有数据库连接时依然可以保持20空闲的连接,而不被清除,随时处于待命状态。 -->
        <property name="maxIdle" value="${redis.pool.maxIdle}" />
        <!-- 最大等待时间:当没有可用连接时,连接池等待连接被归还的最大时间(以毫秒计数),超过时间则抛出异常 -->
        <property name="maxWaitMillis" value="${redis.pool.maxWait}" />
        <!-- 在获取连接的时候检查有效性 -->
        <property name="testOnBorrow" value="${redis.pool.testOnBorrow}" />
    </bean>

    <!-- 创建Redis连接池,并做相关配置 -->
    <bean id="jedisWritePool" class="com.ouyan.o2o.cache.JedisPoolWriper"
        depends-on="jedisPoolConfig">
        <constructor-arg index="0" ref="jedisPoolConfig" />
        <constructor-arg index="1" value="${redis.hostname}" />
        <constructor-arg index="2" value="${redis.port}" type="int" />
    </bean>

    <!-- 创建Redis工具类,封装好Redis的连接以进行相关的操作 -->
    <bean id="jedisUtil" class="com.ouyan.o2o.cache.JedisUtil" scope="singleton">
        <property name="jedisPool">
            <ref bean="jedisWritePool" />
        </property>
    </bean>
    <!-- Redis的key操作 -->
    <bean id="jedisKeys" class="com.ouyan.o2o.cache.JedisUtil$Keys"
        scope="singleton">
        <constructor-arg ref="jedisUtil"></constructor-arg>
    </bean>
    <!-- Redis的Strings操作 -->
    <bean id="jedisStrings" class="com.ouyan.o2o.cache.JedisUtil$Strings"
        scope="singleton">
        <constructor-arg ref="jedisUtil"></constructor-arg>
    </bean>
    <!-- Redis的Lists操作 -->
    <bean id="jedisLists" class="com.ouyan.o2o.cache.JedisUtil$Lists"
        scope="singleton">
        <constructor-arg ref="jedisUtil"></constructor-arg>
    </bean>
    <!-- Redis的Sets操作 -->
    <bean id="jedisSets" class="com.ouyan.o2o.cache.JedisUtil$Sets"
        scope="singleton">
        <constructor-arg ref="jedisUtil"></constructor-arg>
    </bean>
    <!-- Redis的HashMap操作 -->
    <bean id="jedisHash" class="com.ouyan.o2o.cache.JedisUtil$Hash"
        scope="singleton">
        <constructor-arg ref="jedisUtil"></constructor-arg>
    </bean>
</beans>    

 

商铺项目(Redis缓存)

原文:http://www.cnblogs.com/XJJD/p/7707127.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!