Spring Data Redis介绍

    xiaoxiao2023-11-09  156

    文章目录

    一.Spring Data Redis 简介二.整合配置三.测试代码

    一.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); } }
    最新回复(0)