Spring整合jedis(Redis)

jedis就是基于java语言的redis客户端,集成了redis的命令操作,提供了连接池管理。

 1、在Maven的pom.xml中导入坐标依赖

        <!--redis-->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.9.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
            <version>2.3</version>
        </dependency>

2、在Spring配置文件中添加Rides配置

	<!-- 连接池配置 -->
	<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
		<!-- 最大连接数 -->
		<property name="maxTotal" value="30" />
		<!-- 最大空闲连接数 -->
		<property name="maxIdle" value="10" />
		<!-- 每次释放连接的最大数目 -->
		<property name="numTestsPerEvictionRun" value="1024" />
		<!-- 释放连接的扫描间隔(毫秒) -->
		<property name="timeBetweenEvictionRunsMillis" value="30000" />
		<!-- 连接最小空闲时间 -->
		<property name="minEvictableIdleTimeMillis" value="1800000" />
		<!-- 连接空闲多久后释放, 当空闲时间>该值 且 空闲连接>最大空闲连接数 时直接释放 -->
		<property name="softMinEvictableIdleTimeMillis" value="10000" />
		<!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 -->
		<property name="maxWaitMillis" value="1500" />
		<!-- 在获取连接的时候检查有效性, 默认false -->
		<property name="testOnBorrow" value="false" />
		<!-- 在空闲时检查有效性, 默认false -->
		<property name="testWhileIdle" value="true" />
		<!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true -->
		<property name="blockWhenExhausted" value="false" />
	</bean>
redis单机 通过连接池
    <bean id="jedisPool" class="redis.clients.jedis.JedisPool"
		  destroy-method="close">
		<constructor-arg name="poolConfig" ref="jedisPoolConfig" />
        <!--服务器地址-->
		<constructor-arg name="host" value="localhost" />
        <!--服务端口号-->
		<constructor-arg name="port" value="6379" />
	</bean>

  redis集群配置

	<!--redis集群-->
	<bean id="jedisCluster" class="redis.clients.jedis.JedisCluster">
		<constructor-arg index="0">
			<set>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg index="0" value="127.0.0.1"/>
					<constructor-arg index="1" value="6380"/>
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg index="0" value="127.0.0.1"/>
					<constructor-arg index="1" value="6381"/>
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg index="0" value="127.0.0.1"/>
					<constructor-arg index="1" value="6382"/>
				</bean>
			</set>
		</constructor-arg>
		<constructor-arg index="1" ref="jedisPoolConfig"></constructor-arg>
	</bean>

 3、简单使用

 redis单机

    @Autowired
    JedisPool pool;
    
    //连接Redis,创建连接
        Jedis jedis=pool.getResource();
        jedis.select(1);
        String key="new_"+pageIndex+"_"+search;
        if (jedis.exists(key)){
            String jsonString=jedis.get(key);
            jedis.close();
            return jsonString;
        }else {
            PageInfo<NewsDetail> pageInfo = news_detailService.getAll(pageIndex,pageSize,search);
            //转换成Json格式
            String jsonString = JSON.toJSONString(pageInfo);
            jedis.set(key,jsonString);
            jedis.close();
            return jsonString;
        }

redis集群

    @Autowired
    JedisCluster jedisCluster;

    String key="new_"+pageIndex+"_"+search;
    String jsonString="";
    if (jedisCluster.exists(key)){
        System.out.println("缓存中有数据");
        jsonString=jedisCluster.get(key);
    }else {
        System.out.println("缓存中没有数据");
        PageInfo<NewsDetail> pageInfo = news_detailService.getAll(pageIndex,pageSize,search);
        //转换成Json格式
        jsonString = JSON.toJSONString(pageInfo);

        jedisCluster.set(key,jsonString);
    }
    return jsonString;

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值