Spring Data Redis介绍
程序员文章站
2022-06-02 20:01:33
...
一.Spring Data Redis 简介
二.整合配置
<?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>
<!-- Redis 模板对象 -->
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory"/>
<!-- 序列化器:能够把我们储存的 key 与 value 做序列化处理的对象 -->
<!-- 配置默认的序列化器 -->
<!-- keySerializer、valueSerializer 配置 Redis 中的 String 类型 key
与 value 的序列化器 -->
<!-- HashKeySerializer、HashValueSerializer 配置 Redis 中的 Hash
类型 key 与 value 的序列化器 -->
<property name="keySerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
</property>
<property name="valueSerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
</property>
</bean>
</beans>
三.测试代码
/**
* Redis测试
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class RedisTest {
@Autowired
private RedisTemplate<String,Object> redisTemplate;
/**
* 添加键值对
*/
@Test
public void test1(){
redisTemplate.opsForValue().set("key","test");
}
/**
* 获取 redis 中的数据
*/
@Test
public void test2(){
String str = (String)this.redisTemplate.opsForValue().get("key");
System.out.println(str);
}
/**
* 添加 Users
*/
@Test
public void test3(){
Users users = new Users();
users.setAge(30);
users.setId(1);
users.setName("张三");
//更换序列化器
this.redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
this.redisTemplate.opsForValue().set("users", users);
}
/**
* 获取 Users
*
*/
@Test
public void test4(){
//更换序列化器
this.redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
Users users =(Users)this.redisTemplate.opsForValue().get("users");
System.out.println(users);
}
/**
* 添加 Users JSON 格式
*/
@Test
public void test5(){
Users users = new Users();
users.setAge(23);
users.setId(2);
users.setName("李四");
this.redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(Users.class));
this.redisTemplate.opsForValue().set("usersjson", users);
}
/**
* 获取 Uesrs JSON 格式
*/
@Test
public void test6(){
this.redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(Users.class));
Users users = (Users)this.redisTemplate.opsForValue().get("usersjson");
System.out.println(users);
}
}
推荐阅读
-
ModelAndViewContainer、ModelMap、Model详细介绍【享学Spring MVC】
-
spring boot整合redis实现shiro的分布式session共享的方法
-
详解spring boot starter redis配置文件
-
序列化表单为json对象,datagrid带额外参提交一次查询 后台用Spring data JPA 实现带条件的分页查询 多表关联查询
-
spring data jpa碰到的坑
-
Apache shiro的简单介绍与使用教程(与spring整合使用)
-
HTML5的自定义属性data-*详细介绍和JS操作实例
-
图文介绍PHP添加Redis模块及连接
-
C++数据类型(data type)介绍
-
使用Spring Data JPA进行数据分页与排序