文档章节

spring-data-redis 用法

漂泊者及其影子
 漂泊者及其影子
发布于 2015/08/26 10:01
字数 369
阅读 1153
收藏 8

一、jar包支持


<!-- redis支持 -->
		<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>2.1.0</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.data</groupId>
			<artifactId>spring-data-redis</artifactId>
			<version>1.1.0.RELEASE</version>
		</dependency>
		<!-- redis支持 -->



二、spring配置



<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:aop="http://www.springframework.org/schema/aop" 
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:util="http://www.springframework.org/schema/util"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
	http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
	http://www.springframework.org/schema/tx  http://www.springframework.org/schema/tx/spring-tx-3.0.xsd 
	http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd
	http://www.springframework.org/schema/context     
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
    ">
  	
	
  	<!-- 配置Jredis连接池 -->
	<bean id="jedisPool" class="redis.clients.jedis.JedisPoolConfig">
        <property name="maxActive" value="1000" />
        <property name="maxIdle" value="50" />
        <property name="maxWait" value="5000" />
        <property name="testOnBorrow" value="true" />
    </bean>
	<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <property name="hostName" value="${redis.host}" />
        <property name="port" value="${redis.port}" />
        <property name="poolConfig" ref="jedisPool" />
    </bean>

    <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
    	<property name="connectionFactory" ref="jedisConnectionFactory"></property>
    </bean>
    <bean id="stringRedisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
    	<property name="connectionFactory" ref="jedisConnectionFactory"></property>
    </bean>
    
   
</beans>



三、单元测试配置



package com.iflashbuy.service.test.base;

import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;

@ContextConfiguration(locations = {"classpath:app-*.xml"}) 
@TransactionConfiguration(defaultRollback = true)
@RunWith(SpringJUnit4ClassRunner.class)
public class BaseTest extends AbstractTransactionalJUnit4SpringContextTests {
	
}



四、code



package com.iflashbuy.service.limanman;

import javax.inject.Inject;

import org.apache.commons.lang.StringUtils;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;

import com.iflashbuy.service.product.dto.ProductDTO;
import com.iflashbuy.service.test.base.BaseTest;

public class RedisTest extends BaseTest {
	
	@Inject
	StringRedisTemplate strRedisTemplate;
	
	@Autowired
    private RedisTemplate<String, ProductDTO> redisTemplate;
    
    
	@Test
	public  void  testStringRedisTemplate() {
		strRedisTemplate.opsForValue().append("name", "fengshu");
		String name = strRedisTemplate.opsForValue().get("name");
		logger.info(name);
		Assert.assertTrue(StringUtils.isNotEmpty(name));
		strRedisTemplate.delete("name");
		name = strRedisTemplate.opsForValue().get("name");
		Assert.assertTrue(StringUtils.isEmpty(name));
		
	}
	
	
	@Test
	public void testRedisTemplate() {
		ProductDTO productDTO = new  ProductDTO();
		productDTO.setId("1");
		redisTemplate.opsForSet().add(productDTO.getId(), productDTO);
		productDTO = redisTemplate.opsForSet().pop("1");
		Assert.assertTrue("1".equals(productDTO.getId()));
	}
}


五、StringRedisTemplate和RedisTemplate区别

RedisTemplate支持pojo对象,StringRedisTemplate键值对操作的是字符串.



© 著作权归作者所有

共有 人打赏支持
上一篇: redis下载安装
漂泊者及其影子
粉丝 42
博文 121
码字总数 72105
作品 0
广州
程序员
私信 提问
加载中

评论(2)

漂泊者及其影子
漂泊者及其影子

引用来自“迷彩风情”的评论

不错,抽时间验证下!
每次开新项目都要想一下怎么配置,自己记一下方便下次添加redis环境
迷彩风情
迷彩风情
不错,抽时间验证下!
Spring Boot使用Spring Data Redis操作Redis(单机/集群)

说明:Spring Boot简化了Spring Data Redis的引入,只要引入spring-boot-starter-data-redis之后会自动下载相应的Spring Data Redis和Jedis客户端,可以减少版本这块的冲突,当然,如果要引入...

easonjim
2017/11/08
0
0
Spring Boot学习笔记

RabbitMQ RabbitMQ 安装 linux安装RabbitMQ详细教程 Ubuntu 16.04 RabbitMq 安装与运行(安装篇) ubantu安装rabbitMQ步骤 多线程 Spring @transactional注解和synchronized同步锁同时使用不...

OSC_fly
07/26
0
0
聊聊spring-boot-starter-data-redis的配置变更

序 本文主要研究一下spring-boot-starter-data-redis的配置变更 配置变更 以前是spring-boot的1.4.x版本的(spring-data-redis为1.7.x版本),最近切到2.0.4.RELEASEB版本(spring-data-redis为...

go4it
09/05
0
0
springBoot redis -- spring-boot-starter-data-redis

springBoot redis -- spring-boot-starter-data-redis与spring-boot-starter-redis两个包的区别 引入 spring-boot-starter-redis(1.4版本前),spring-boot-starter-data-redis(1.4版本后)......

yizhichao
10/10
0
0
Spring Cache For Redis.

一、概述 缓存(Caching)可以存储经常会用到的信息,这样每次需要的时候,这些信息都是立即可用的。 常用的缓存数据库: Redis 使用内存存储(in-memory)的非关系数据库,字符串、列表、集...

jmcui
02/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MariaDB 服务器在 MySQL Workbench 备份数据的时候出错如何解决

服务器是运行在 MariaDB 10.2 上面的,在使用 MySQL Workbench 出现错误: mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"'......

honeymose
今天
2
0
apache顶级项目(二) - B~C

apache顶级项目(二) - B~C https://www.apache.org/ Bahir Apache Bahir provides extensions to multiple distributed analytic platforms, extending their reach with a diversity of s......

晨猫
今天
6
0
day152-2018-11-19-英语流利阅读

“超级食物”竟然是营销噱头? Daniel 2018-11-19 1.今日导读 近几年来,超级食物 superfoods 开始逐渐走红。不难发现,越来越多的轻食餐厅也在不断推出以超级食物为主打食材的健康料理,像是...

飞鱼说编程
今天
12
0
SpringBoot源码:启动过程分析(二)

接着上篇继续分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 一样的,我们先把时序图贴上来,方便理解: 二.源码分析 回顾一下,前面我们分析到了下...

Jacktanger
昨天
4
0
Apache防盗链配置,Directory访问控制,FilesMatch进行访问控制

防盗链配置 通过限制referer来实现防盗链的功能 配置前,使用curl -e 指定referer [root@test-a test-webroot]# curl -e "http://www.test.com/1.html" -x127.0.0.1:80 "www.test.com/1.jpg......

野雪球
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部