redis 详细步骤上传图片

redis 上传图片

步骤

一个是消费端 backend

一个是服务端 service

1 首先 在实体类配置一个公共 常量 两个集合

package com.itheima.constant;

public class RedisConstant {
    //套餐图片所有图片名称
    public static final String SETMEAL_PIC_RESOURCES = "setmealPicResources";

    //套餐图片保存在数据库中的图片名称
    public static final String SETMEAL_PIC_DB_RESOURCES = "setmealPicDbResources";
}

2 在消费端 resources 下配置 spring-redis.xml

需要更改 注意查看配置那些

<?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:p="http://www.springframework.org/schema/p"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">

    <!--Jedis连接池的相关配置-->
    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <property name="maxTotal">
            <value>200</value>
        </property>
        <property name="maxIdle">
            <value>50</value>
        </property>
        <property name="testOnBorrow" value="true"/>

        <property name="testOnReturn" value="true"/>
    </bean>
    <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
        <constructor-arg name="poolConfig" ref="jedisPoolConfig" />
        <constructor-arg name="host" value="127.0.0.1" />
        <constructor-arg name="port" value="6379" type="int" />
        <constructor-arg name="timeout" value="30000" type="int" />
    </bean>
</beans>

然后在其下找到springxml 匹配 引用 redis加载配置

 <!--引用redis   加载配置-->
<import resource="spring-redis.xml"></import>

3 调用 redis

@Autowired
private  JedisPool jedisPool;


try {
               //将图上传到七牛云服务器
            QiniuUtils.upload2Qiniu(imgFile.getBytes(),fileName);
            jedisPool.getResource().sadd(RedisConstant.SETMEAL_PIC_RESOURCES,fileName);// 图片名称放到到大集合  保存到redis

        } catch (IOException e) {
            e.printStackTrace();
            return   new Result(false, MessageConstant.PIC_UPLOAD_FAIL);
        }
        return   new Result(true, MessageConstant.PIC_UPLOAD_SUCCESS,fileName);
    }

4 服务端resources下配置

跟消费端 一样的 redis xml 配置

查看web 是不是可以扫描秒到

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath*:spring-*.xml</param-value>
</context-param>

在是实现类serviceimpl 找到添加 db 是小集合

@Autowired
 private JedisPool jedisPool;
 
   // 把图片名称保存到redis集合
        String fileName = setmeal.getImg();
        jedisPool.getResource().sadd(RedisConstant.SETMEAL_PIC_DB_RESOURCES,fileName);

OK

猜你喜欢

转载自blog.csdn.net/dulin211314/article/details/107932456
今日推荐