亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        緩存技術(shù)在酒店門(mén)戶(hù)網(wǎng)站中應(yīng)用

        2021-09-10 20:24:24張丹陽(yáng)萬(wàn)安
        科學(xué)與生活 2021年10期

        張丹 陽(yáng)萬(wàn)安

        摘要: 在全球經(jīng)濟(jì)化的大形勢(shì)下,酒店門(mén)戶(hù)網(wǎng)站趨于國(guó)際化,網(wǎng)站實(shí)現(xiàn)了多語(yǔ)言,多匯率,各個(gè)國(guó)家的稅率也存在差異,此時(shí)將緩存技術(shù)應(yīng)用到酒店門(mén)戶(hù)網(wǎng)站的訂房系統(tǒng)中,可以極大的提高房型價(jià)格的查詢(xún)效率.

        關(guān)鍵詞:緩存結(jié)束、Redis、酒店門(mén)戶(hù)網(wǎng)站、多語(yǔ)言

        1引言

        應(yīng)用中使用緩存技術(shù),往往可以大大減少計(jì)算量,有效提升響應(yīng)速度,讓有限的資源服務(wù)更多的用戶(hù)。但是,似乎還沒(méi)有一種緩存方案可以滿(mǎn)足所有的業(yè)務(wù)場(chǎng)景,我們需要根據(jù)自身的特殊場(chǎng)景和背景,選擇最適合的緩存方案,盡量以最小的成本最快的效率達(dá)到最優(yōu)的目的。本文根據(jù)酒店實(shí)際應(yīng)用場(chǎng)景將從多個(gè)方面對(duì)緩存進(jìn)行分析,以便選擇出最優(yōu)的緩存方案。

        2緩存的理解

        2.1 緩存的優(yōu)點(diǎn)

        總結(jié)來(lái)說(shuō),緩存在如下三個(gè)方面做了提升:

        性能——將相應(yīng)數(shù)據(jù)存儲(chǔ)起來(lái)以避免數(shù)據(jù)的重復(fù)創(chuàng)建、處理和傳輸,可有效提高性能;穩(wěn)定性——同一個(gè)應(yīng)用中,緩存數(shù)據(jù)也能降低對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)次數(shù),降低數(shù)據(jù)庫(kù)的負(fù)擔(dān)和提高數(shù)據(jù)庫(kù)的服務(wù)能力;

        可用性——有時(shí),提供數(shù)據(jù)信息的服務(wù)可能會(huì)意外停止,緩存技術(shù)可以在一定時(shí)間內(nèi)仍正常提供對(duì)最終用戶(hù)的支持,提高了系統(tǒng)的可用性。

        2.2 Redis簡(jiǎn)介

        Redis 是一個(gè)開(kāi)源(BSD許可)的,內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)系統(tǒng),它可以用作數(shù)據(jù)庫(kù)、緩存和消息中間件[1]。 它支持多種類(lèi)型的數(shù)據(jù)結(jié)構(gòu),是一個(gè)高性能的 key-value 數(shù)據(jù)庫(kù)。

        Redis 與其他 key - value 緩存產(chǎn)品有以下三個(gè)特點(diǎn):

        ·Redis支持?jǐn)?shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保存在磁盤(pán)中,重啟的時(shí)候可以再次加載進(jìn)行使用。

        ·Redis不僅僅支持簡(jiǎn)單的key-value類(lèi)型的數(shù)據(jù),同時(shí)還提供list,set,zset,hash等數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)。

        ·Redis支持?jǐn)?shù)據(jù)的備份,即master-slave模式的數(shù)據(jù)備份。

        3 Redis與MemoeryCache實(shí)際應(yīng)用

        3.1應(yīng)用場(chǎng)景

        對(duì)于全球化的大型酒店,由于地域不同,不同酒店之間的價(jià)格存在差異,同時(shí)不同地域之間的人訪(fǎng)問(wèn)同一酒店同一房型,同一房型按照配套存在不同的價(jià)格,如上圖所示,由于地域不一致則展示的價(jià)格應(yīng)按照當(dāng)?shù)貐R率轉(zhuǎn)換展示,這就需要進(jìn)行大量地根據(jù)匯率計(jì)算不同的價(jià)格,如同一個(gè)位于北京的酒店,在某一時(shí)間段,世界各地的人通過(guò)訪(fǎng)問(wèn)酒店官網(wǎng)預(yù)訂北京這家酒店的房間,那就需要進(jìn)行幾十次按照匯率進(jìn)行價(jià)格的計(jì)算,與此同時(shí),還需要根據(jù)訪(fǎng)問(wèn)網(wǎng)站的人是會(huì)員還是非會(huì)員展示不同的價(jià)格,以及原始價(jià)格等。如果大量的人訪(fǎng)問(wèn)這一酒店就會(huì)產(chǎn)生大量的數(shù)據(jù)訪(fǎng)問(wèn)及計(jì)算,而且中間還會(huì)涉及調(diào)用算稅相關(guān)api,如果進(jìn)入酒店的查看價(jià)格頁(yè)面需要展示所有房型的價(jià)格,那頁(yè)面將需要很長(zhǎng)時(shí)間去計(jì)算各個(gè)房型不同的價(jià)格,勢(shì)必導(dǎo)致頁(yè)面加載緩慢。

        3.2解決策略

        1.首先對(duì)于酒店價(jià)格這些數(shù)據(jù),價(jià)格在一天時(shí)間內(nèi)變化頻率不高,則不需要平凡更新緩存。

        2.由于不同酒店在不同語(yǔ)言不同匯率下以及不同房型以及入住人數(shù)存在各種價(jià)格,非關(guān)系型數(shù)據(jù)庫(kù)Redis的存儲(chǔ)可以采用Key-value的方式存儲(chǔ),則我們可以按照價(jià)格體系的需求,將數(shù)據(jù)組合成方便查詢(xún)的結(jié)構(gòu)轉(zhuǎn)換成json存儲(chǔ)在redis中。

        3.所以讀寫(xiě)性能很好,可以達(dá)到10w/s的頻率,有效減少了頁(yè)面加載數(shù)據(jù)的時(shí)間。

        同時(shí)采用MemeoryCache來(lái)緩存酒店的一些固定數(shù)據(jù),如酒店code、折扣率等。

        3.3具體實(shí)現(xiàn)思路

        當(dāng)一個(gè)用戶(hù)在世界某地訪(fǎng)問(wèn)網(wǎng)站一個(gè)酒店查詢(xún)價(jià)格,則需要根據(jù)用戶(hù)選擇語(yǔ)言及匯率展示價(jià)格,首先網(wǎng)站會(huì)默認(rèn)從Redis緩存查詢(xún)是否存在對(duì)應(yīng)的價(jià)格,所存在則直接展示給用戶(hù),若對(duì)應(yīng)語(yǔ)言下價(jià)格不存在,則需要按以下流程處理價(jià)格。

        首先,從價(jià)格平臺(tái)獲取改酒店所有房型及各個(gè)價(jià)格組合的原始價(jià)格。

        其次,循環(huán)各個(gè)價(jià)格組合,將原始價(jià)格根據(jù)匯率計(jì)算出會(huì)員價(jià)格,非會(huì)員價(jià)格,這兩種價(jià)格中又包含總價(jià)、稅、稅前價(jià),稅后價(jià)。將計(jì)算出的價(jià)格存入對(duì)應(yīng)的實(shí)體模型列表中。

        最后,根據(jù)當(dāng)前用戶(hù)訪(fǎng)問(wèn)的酒店id,語(yǔ)言,優(yōu)惠碼,以及入住時(shí)間和人數(shù)組合成為key,上述步驟中的價(jià)格實(shí)體列表轉(zhuǎn)換為json,存入對(duì)應(yīng)的價(jià)格數(shù)據(jù)庫(kù)。

        那么如果其他用戶(hù)選擇同一語(yǔ)言下同一酒店訪(fǎng)問(wèn)價(jià)格查詢(xún)頁(yè)面的時(shí)候,就會(huì)直接從Redis緩存中獲取計(jì)算后的價(jià)格,及時(shí)響應(yīng)給頁(yè)面,極大的提高了網(wǎng)頁(yè)加載速度。

        緩存過(guò)期策略方面,由于酒店價(jià)格變化并不是很頻繁,所以網(wǎng)站價(jià)格緩存采用一個(gè)小時(shí)自動(dòng)清空價(jià)格組合下對(duì)應(yīng)語(yǔ)言的緩存,那當(dāng)用戶(hù)再次訪(fǎng)問(wèn)時(shí),又重新計(jì)算后存入對(duì)應(yīng)key中。

        結(jié)束語(yǔ)

        利用Redis來(lái)緩存價(jià)格,極大的提高了價(jià)格展示頁(yè)面的加載速度,即使稅率Api不響應(yīng),我們也可以獲取緩存中的價(jià)格進(jìn)行展示,所以通過(guò)這次實(shí)踐,意識(shí)到為了解決很多實(shí)際應(yīng)用,需要多種技術(shù)的組合,才能找出最優(yōu)解。

        參考文獻(xiàn):

        [1]Josial L.Carison. Redis實(shí)戰(zhàn).北京:人民郵電出版社,2015:10.

        [2]ROBERT C. MARTIN.敏捷軟件開(kāi)發(fā)[M].北京:機(jī)械工業(yè)出版社,2008:388.

        [3] 李航 . 敏捷型軟件開(kāi)發(fā)方法與極限編程概述 [J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2003 ,24(10):116-118.

        宜賓學(xué)院人工智能與大數(shù)據(jù)學(xué)部 644000

        亚洲av资源网站手机在线| 国产高中生在线| 99免费视频精品| 一区二区三区在线观看人妖| 久久久亚洲欧洲日产国码二区| 在线播放亚洲丝袜美腿| 亚洲色一区二区三区四区| 真人做人试看60分钟免费视频| 日韩无套内射视频6| 国产污污视频| 狼人av在线免费观看| 亚洲av熟女传媒国产一区二区| 亚洲精品成人无限看| 国产精品午夜无码av天美传媒| 日韩精品国产自在久久现线拍| 日韩精品免费在线视频| 伊人青青草综合在线视频免费播放 | 久久婷婷五月综合97色直播| 无码粉嫩虎白一线天在线观看| 日本高清不在线一区二区色| 青青自拍视频成人免费观看| 中文字幕亚洲在线第一页| 亚洲日韩成人无码| 色欲av自慰一区二区三区| 国产自在自线午夜精品视频在 | 免费va国产高清不卡大片| 中文字幕人妻乱码在线| 久久久久久夜精品精品免费啦| 玩弄少妇高潮ⅹxxxyw| 日本高清色惰www在线视频| 日本老熟妇五十路一区二区三区| 国产精品成人无码久久久久久 | 色综合久久无码五十路人妻| 特级av毛片免费观看| 97se在线观看| 中文字幕精品亚洲无线码二区| 97人妻精品一区二区三区免费| 国产精品无码人妻在线| 成人做爰69片免费看网站| 中文字幕无码免费久久9一区9| 黄色潮片三级三级三级免费|