Spring Data Redis
1.简介:
Spring Data Redis, part of the larger Spring Data family, provides easy configuration and access to Redis from Spring applications. It offers both low-level and high-level abstractions for interacting with the store, freeing the user from infrastructural concerns.
2.Redis安装
https://www.cnblogs.com/liulebin/p/10860192.html
3.搭建环境
3.1整合配置
配置文件
<?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"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
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
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<!-- 配置读取 properties 文件的工具类 -->
<context:property-placeholder
location="classpath:redis.properties"/>
<!-- Jedis 连接池 -->
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="${redis.pool.maxTotal}"/>
<property name="maxIdle" value="${redis.pool.maxIdle}"/>
<property name="minIdle" value="${redis.pool.minIdle}"/>
</bean>
<!-- Jedis 的连接工厂 -->
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="${redis.conn.hostName}"/>
<property name="port" value="${redis.conn.port}"/>
<property name="poolConfig" ref="poolConfig"/>
</bean>
4.整合测试环境
3.1添加Junit包
3.2关闭 linux 防火墙,或者在防火墙中开启 6379 端口
3.3测试代码
/**
*Redis 测试
*@author Administrator
*
*/ @RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class RedisTest {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
/**
* 添加键值对
*/ @Test
public void test1(){
this.redisTemplate.opsForValue().set("key", "test");
}
/**
* 获取 redis 中的数据
*/ @Test
public void test2(){ String str =
(String)this.redisTemplate.opsForValue().get("key"); System.out.println(str);
}
/**
* 存储User
*/
@Test
public void test3(){
User user = new User();
user.setId(1);
user.setUsername("张三");
user.setPassword("zhangsan");
redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
redisTemplate.opsForValue().set("user", user);;
}
/**
* 获取User
*/
@Test
public void test4(){
redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
User user = (User) redisTemplate.opsForValue().get("user");
System.out.println(user.toString());
}
/**
* 存储user Json格式
*/
@Test
public void test5(){
User user = new User();
user.setId(2);
user.setUsername("李四");
user.setPassword("lisi");
redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(User.class));
redisTemplate.opsForValue().set("user2", user);
}
/**
* 获取user Json格式
*/
@Test
public void test6(){
redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(User.class));
User user = (User) redisTemplate.opsForValue().get("user2");
System.out.println(user.toString());
}
}
}
CSDN:
spring data redis:https://www.cnblogs.com/liulebin/p/10860192.html