直播網站程式原始碼,採用Redis實現購物車功能

zhibo系統開發發表於2023-03-17

直播網站程式原始碼,採用Redis實現購物車功能

1. 新增pom依賴 

<!--redis-->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>


2. 配置application.yml檔案

spring: 
 redis:
    #服務端IP
    host: 127.0.0.1
    #埠
    port: 6379
    #密碼
    password: 1234
    #選擇資料庫
    database: 0
    #超時時間
    timeout: 10000ms
    #Lettuce的連線是基於Netty的,連線例項(StatefulRedisConnection)可以在多個執行緒間併發訪問
    #Lettuce執行緒安全,Jedis執行緒非安全
    lettuce:
      pool:
        #最大連線數,預設8
        max-active: 8
        #最大連線阻塞等待時間,預設-1
        max-wait: 10000ms
        #最大空閒連線,預設8
        max-idle: 200
        #最小空閒連線,預設0
        min-idle: 5


3. Redis核心配置類

package com.jmh.springboot03.config;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Configurable;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
 
import javax.annotation.Resource;
 
/**
 * @author 蔣明輝
 * @data 2022/10/1 17:08
 */
@Configuration
public class RedisConfig {
 
    @Bean
    public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){
        //例項化一個redis模板
        RedisTemplate<String,Object> redisTemplate=new RedisTemplate<>();
        //設定連線工廠
        redisTemplate.setConnectionFactory(redisConnectionFactory);
        //針對string型別的key和value進行序列化
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
        //針對has型別的key和value進行序列化
        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
        redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
        //將上訴程式碼啟用
        redisTemplate.afterPropertiesSet();
        return redisTemplate;
 
    }
}


4. 定義購物車介面

 IRedisService介面定義

package com.jmh.shopping.service;
 
import com.jmh.shopping.model.ShopCarItem;
import com.jmh.shopping.model.User;
import com.jmh.shopping.utils.JsonResponseBody;
 
import java.util.List;
 
/**
 * @author 蔣明輝
 * @data 2022/11/20 6:59
 */
public interface IRedisService {
 
    /**
     * 根據使用者編號獲取購物車商品
     */
    List<ShopCarItem> queryRedisUserId(String id);
 
    /**
     * 增加購物車商品
     */
    JsonResponseBody<?> add(User user, Long gid,Integer num);
 
    /**
     * 更新購物車商品
     */
    JsonResponseBody<?> update(User user, Long gid, Integer num);
 
    /**
     * 刪除購物車商品
     */
    JsonResponseBody<?> delete(User user, String ids);
 
    /**
     * 獲取使用者要結算購物車商品資訊
     */
    List<ShopCarItem> toOrder(User user,String ids);
 
}


以上就是 直播網站程式原始碼,採用Redis實現購物車功能,更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2940258/,如需轉載,請註明出處,否則將追究法律責任。

相關文章