Spring Data Redis
Posted liulebin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Data Redis相关的知识,希望对你有一定的参考价值。
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> <!-- 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>
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://blog.csdn.net/weixin_44982675/article/details/90199585
以上是关于Spring Data Redis的主要内容,如果未能解决你的问题,请参考以下文章
用spring-data-redis实现类似twitter的网站(转)
使用Spring Data Redis操作Redis(集群版)
Spring之Redis访问(Spring-data-redis)
如何在过期事件中访问spring data redis store对象?