中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

wordpress在哪兒打開企業(yè)網站seo優(yōu)化外包

wordpress在哪兒打開,企業(yè)網站seo優(yōu)化外包,永久免費空間服務器,wordpress 表情《瘋狂Spring Boot講義》是2021年電子工業(yè)出版社出版的圖書,作者是李剛 《瘋狂Spring Boot終極講義》不是一本介紹類似于PathVariable、MatrixVariable、RequestBody、ResponseBody這些基礎注解的圖書,它是真正講解Spring Boot的圖書。Spring Boot的核心…

《瘋狂Spring Boot講義》是2021年電子工業(yè)出版社出版的圖書,作者是李剛

《瘋狂Spring Boot終極講義》不是一本介紹類似于@PathVariable、@MatrixVariable、@RequestBody、@ResponseBody這些基礎注解的圖書,它是真正講解Spring Boot的圖書。Spring Boot的核心是什么?它的核心就是自動配置,以及以自動配置為基礎與大量第三方后端技術進行整合。因此學習Spring Boot應該重點關注的就是它為整合各種框架所提供的自動配置,包括Spring Boot如何整合各種前端框架,如Spring MVC、Spring WebFlux;Spring Boot如何整合各種持久層技術,如Spring Data、MyBatis、Hibernate/JPA、R2DBC、jOOQ等;Spring Boot如何整合NoSQL技術,如Redis、MongoDB、Neo4j、Cassandra、Solr、Elasticsearch等;Spring Boot如何整合各種消息組件,如ActiveMQ、Artemis、RabbitMQ、Kafka等;Spring Boot如何整合各種緩存機制,如JCache、EhCache、Redis、Hazelcast等;Spring Boot如何整合各種安全框架,如Spring Security、Shiro等,這些都只是Spring Boot整合的典型內容。本書的作用就是帶你徹底掌握Spring Boot官方手冊中所整合的各種技術,而且本書會講清楚Spring Boot和Spring框架的關系,帶著你揭開Spring Boot的核心:自動配置的面紗,領著你剖析Spring Boot自動配置的源代碼實現,然后以此為基礎,詳細講解Spring Boot如何整合各種Java后端技術。在掌握了本書知識之后,你不僅能輕松看懂Spring Boot官方手冊(其實無須再看了),而且真正掌握了Spring Boot的大成,并通過Spring Boot的整合觸類旁通地掌握各種Java后端技術。本書提供了讀者答疑交流群,讀者可通過掃描本書封面上的二維碼,按照指引加入讀者答疑交流群。

技術示范:高并發(fā)請求提供及時響應,對秒殺請求的瞬時高并發(fā)進行削峰限流

項目背景

  • 電商在特殊時間節(jié)點做促銷活動,參與商品的價格實惠,用戶特意等到活動期間購買
  • 從而很容易引起瞬時的高并發(fā)請求的峰值情況
  • 通常通過RabbitMQ消息組件進行削峰,即限制、延遲處理,避免服務器崩潰。

系統(tǒng)架構

MVC

Spring MVC

用戶請求的處理與轉發(fā);

包括系統(tǒng)的超鏈接與表單提交

攔截器的權限控制

底層持久層

DAO層

MyBatis

簡化,優(yōu)化與封裝

SQL Mapping框架

Mapper接口

NoSQL

分布式Session

Redis

數據緩存、頁面緩存

消息組件

RabbitMQ

秒殺限流

業(yè)務邏輯層

Spring Boot

整合與自動配置;業(yè)務邏輯組件

依賴注入;面向接口;

IoC;聲明式事務框架

表現層

Thymeleaf

收集用戶請求數據;

業(yè)務數據表示

Bootstrap

簡單美化

jQuery

JS工具庫動態(tài)更新頁面

功能模塊

  • 主要是用戶模塊和秒殺模塊
  • 業(yè)務邏輯組件為門面封裝且依賴Mapper組件

Mapper對象組件| 4

UserMapper

user_inf

MiaoshaItemMapper

item_inf、miaoshao_inf

OrderMapper

order_inf

MiaoshaOrderMapper

order_inf、miaosha_order

業(yè)務邏輯組件| 2

UserService

用戶登錄、用戶信息查看

MiaoshaService

商品查看、商品秒殺

消息組件| 2

MiaoshaSender

向RabbitMQ消息隊列發(fā)送消息

MiaoshaReceiver

接受RabbitMQ消息隊列中的消息

操作Redis組件| 1

FkRedisUtil

加工邏輯

項目搭建

  • 通過Spring Boot整合框架的自動配置,只需要在pom.xml中添加對應依賴庫

其他依賴庫

Apache Commons Pool2連接池

連接Redis

Common Lang 3

StringUtils、ArrayUtils、ClassUtils、RegExUtils工具類

Common Codec

編碼、解碼算法,如MD5加密算法

領域對象層

設計領域對象

  • MyBatis的SQL Mapping進行持久化操作,從而保證面向對象方式開發(fā)

user_inf

nickname not null;加鹽加密

item_inf

主鍵自增

商品名稱、商品描述

miaosha_item

主鍵自增

基本信息;

秒殺價、庫存、開始結束時間

order_inf

主鍵自增

訂單用戶、訂單價格、下單時間

miaosh_order

主鍵自增;

unique key(user_id, item_id)唯一約束

用戶ID、訂單ID、商品ID

創(chuàng)建領域對象類

  • MyBatis是結果集映射框架
  • 只需要定義數據列的類實例變量以及setter、getter方法

Mapper(DAO)層

  • MyBatis只需要通過XML文件定義Mapper接口的相關SQL語句就開發(fā)完成Mapper組件。

實現Mapper組件

  • Mapper接口聲明Mapper組件提供的持久化對象操作的CRUD方法
  • 可能隨著業(yè)務邏輯的需求而增加

UserMapper接口

根據user_id查詢user_inf;

更新user_inf

@Select(“SQL語句”)

@Update(“SQL語句”)

MiaoshaItemMapper接口

更新庫存

查詢所有秒殺商品

查詢指定秒殺商品

@Result(參數)

List<MiaoshaItem>

@Param

OrderMapper接口

插入新紀錄

獲取訂單

@Insert(“SQL語句”)

@Option(參數)

MiaoshaOrderMapper接口

獲取秒殺訂單

插入秒殺訂單

部署Mapper組件

Spring Boot自動配置數據源、SqlSessionFactory基礎組件,部署Mapper成容器的Bean

spring.datasource

.driver-class-name

=com.mysql.cj.jdbc.Driver

.url

=mysql://localhost:3306/...

.username

.password

分布式Session及用戶登錄的實現

權限管理等采用分布式Session,高并發(fā)秒殺系統(tǒng)通常都是分布式應用,基于Redis實現

實現Redis組件

  • 添加Spring Boot Data Redis,提供自動配置RedisConnectionFactory、StringRedisTmplate
  • 注入其他組件即可

spring.redis

host

port

database

password

lettuce.pool

.maxActive

.maxIdle

空閑連接數

.minIdle

  • 工具類對RedisTemplate封裝
  • 方便操作系統(tǒng)中的key-value對
  • 包括添加key-value對、根據key獲取對應的value、根據key刪除指定key-value 對、判斷指定的key是否存在等

FkRedisUtil

get:獲取相應的value

RedisTemplate: opsForValue: get

set:添加key-value對

opsForValue: set: Duration.ofSeconds

exists:key是否存在

RedisTemplate: hasKey;

delete:根據key刪除

RedisTemplate: delete

incr

RedisTemplate: opsForValue: increment

decr

RedisTemplate: opsForValue: decrement

beanTostring

ObjectMapper.writeValueAsString;

stringToBean

ObjectMapper.readValue

  • 控制前綴部分,避免重復
  • 控制過期時間

KeyPrefix

定義prefix以及過期時間

便于KeyPrefix提供實現類,而作為基類

AbstractPrefix

設置過期時間

定義:類名:prefix

分布式Session的實現

  • Session ID發(fā)送瀏覽器,以Cookie保存[UUID]
  • 服務器端用Redis保存key-value信息,以客戶端的Session ID為key
  • 對象:分布式Session

  1. 為了實現流程,定義操作Cookie工具類
  2. getSessionId工具方法就是分布式Session實現機制的第1步:通過Cookie來讀取Session ID;如果讀不到有效的Session ID,系統(tǒng)會生成一個隨機的UUID作為Session ID,并將該Session ID 以Cookie的形式寫入瀏覽器,交給瀏覽器保存。

key

value

Cookie

“token”

UUID

Redis

prefix+UUID

Session信息

CookieUtil

addSessionID:以Cookie寫入

HttpServletResponse:addCookie

Cookie: setMaxAge、setPath

getCookieValue:讀取指定

HttpServletRequest: getCookies()

Cookie: getName、getValue

getSessionId:讀取,否則創(chuàng)建

對getCookieValue進一步封裝

通過Redis緩存實現分布式Session

UserController

addSession: 分別保存

getByToken:延長有效期、讀取

只要任意控制器訪問系統(tǒng),攔截器就會向氛圍中的瀏覽器寫入Cookie,從而保存SessionID

AccessInterceptor

preHandle:訪問寫入、保存

攔截所有控制器的處理方法

HandlerInterceptor: preHandle

UserKey

key前綴以及有效時間

用戶登錄的實現

getLoginVerifyCode符合分布式的Session流程

UserController

toLogin

getLoginVerifyCode:驗證碼

@GetMappring(method)

HttpServletResponse:getOutputStream

proLogin

http://www.risenshineclean.com/news/4497.html

相關文章:

  • 網站域名空間費發(fā)票廣告詞
  • 烏魯木齊哪里可以建設網站關鍵詞語有哪些
  • 用python做網站開發(fā)的課程嘉興seo
  • 網站點擊率如何做百度一下百度
  • wordpress文章顯示小時分鐘天津seo推廣服務
  • 東莞網站如何制作google play官網入口
  • 網站會員注冊系統(tǒng)下載在線看seo網站
  • 做網站都需要用到什么百度網址大全怎么設為主頁
  • 九江做網站開發(fā)需要多少錢班級優(yōu)化大師網頁版登錄
  • 外貿網站用什么語言百度廣告推廣平臺
  • 實體門店管理系統(tǒng)武漢seo公司排名
  • 如何查看網站在哪里做的會計培訓班有用嗎
  • 獲獎設計網站怎么做ppt
  • 做網站需要材料北京專業(yè)網站優(yōu)化
  • 怎樣在設計網站做圖賺錢嗎投稿平臺
  • 青島網絡推廣選哪家seo推廣宣傳
  • 成都設計研究院北京seo產品
  • 蘇州網頁服務開發(fā)與網站建設鳳凰網臺灣資訊
  • 阿里云注銷網站什么是長尾關鍵詞舉例
  • 權威的網站建設網絡銷售是做什么的
  • 南寧網站建設 南寧聯(lián)達億seo優(yōu)化網站源碼
  • 現在怎么做網絡營銷推廣方法網站的優(yōu)化seo
  • 北京 做網站 公司微信公眾號小程序怎么做
  • 注重網站內容維護百度推廣賬號怎么申請
  • 電子產品營銷策劃書seo優(yōu)化易下拉霸屏
  • 重慶網絡網站推廣網絡營銷公司排行榜
  • 開通網站必須做域名空間營銷方法有哪些方式
  • 怎么更改網站域名搜索引擎推廣實訓
  • 瀏陽做網站報價簡述如何優(yōu)化網站的方法
  • 網站越來越難做班級優(yōu)化大師免費下載