1.导入jar spring-data-redis.jar jedis commons-pool2
2.编写spring配置文件
<!--redis相关配置-->
<!--连接属性配置,优化-->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<!--最大连接数-->
<property name="maxTotal" value="100"></property>
<!--最大空闲数-->
<property name="maxIdle" value="10"></property>
<!--使用前 检查连接是否有效 默认false -->
<property name="testOnBorrow" value="true"></property>
<!--最大等待毫秒数-->
<property name="maxWaitMillis" value="15000"></property>
<!--连接阻塞时 是否抛异常 默认true 阻塞到超时 false 抛异常 -->
<property name="blockWhenExhausted" value="false"></property>
</bean>
<!--redis的连接工厂-->
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<!--指定连接配置-->
<property name="poolConfig" ref="jedisPoolConfig"></property>
<!-- 选择使用的 redis的库 -->
<!-- <property name="database" value=""></property>-->
<!--访问ip -->
<property name="hostName" value="127.0.0.1"></property>
<property name="port" value="6379"></property>
</bean>
<!--redis的操作类-->
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<!--指定使用连接-->
<property name="connectionFactory" ref="jedisConnectionFactory"></property>
<!--key的序列化机制 无法存储对象类型 -->
<property name="keySerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer"></bean>
</property>
<property name="valueSerializer">
<bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"></bean>
</property>
</bean>
3.测试代码
// 集成类
@RunWith(SpringJUnit4ClassRunner.class)
// 加载spring的配置文件
@ContextConfiguration("classpath:spring-config.xml")
public class TestRedis {
@Autowired private RedisTemplate redisTemplate;
@Test
public void testReids(){
//对象的存
redisTemplate.opsForValue().set("user",new User("张三","男"));
//对象的取
User user = (User) redisTemplate.opsForValue().get("user");
System.out.println(user);
//集合的存
List<User> userList = new ArrayList<User>();
User user = new User("张三","男");
User user1 = new User("李四","男");
userList.add(user);
userList.add(user1);
redisTemplate.opsForValue().set("userList",userList);*/
//集合的取,map一样(要归结于于redis是通过key和value形式存储数据的)
userList = (List<User>) redisTemplate.opsForValue().get("userList");
System.out.println(userList);
/**
* 增删改(DML)后要需要清除缓存的
*/
redisTemplate.delete("user");
redisTemplate.delete("userList");
/**
* 模糊查询
*/
Set keys = redisTemplate.keys("**user**");
redisTemplate.delete(keys);
/**
*
* 查询时,先从缓存中获取,如果没有,查询数据库,如果有 直接返回。
* 分页查询
*
*Service
* public List show(){
* List list = redisTemplate.opsForValue().get("List");
* if(bannerList==null){
* 从数据库查询,并将查询结果添加至缓存中 page 1 2 key的唯一性 标志性
* redisTemplate.opsForValue().set("list-"+page+"-"+rows,"数据库查到的值");
* list-1-5 list-2-5
*
* 并将数据返回页面
* }
*
* 直接返回List
*
* }
*
* try{
* 没有异常执行此处代码
*
* }catch(Exception e){
* 有异常执行此处代码
* }
*/
}
}
本文介绍如何在Spring环境中配置Redis并进行简单的测试操作。包括导入必要的库文件、定义连接池配置、设置连接工厂及Redis操作模板等步骤,并提供了一个集成测试的例子。

被折叠的 条评论
为什么被折叠?



