999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于C#語言運用Redis 實現秒殺的設計與實現

2021-09-10 14:46:14張云飛
魅力中國 2021年26期
關鍵詞:數據庫用戶

張云飛

(天才在線(北京)科技有限公司,北京市 100094)

在互聯網高速發展的今天,網購和搶票在我們生活中越來越常見,尤其是近年來網絡直播帶貨如雨后春筍,遍布我們的周圍。各個平臺都會對應出很多優惠秒殺的活動來吸引消費者,在流量大量負載的情況下,輕松應對秒殺等環節就顯得尤為重要。通過運用Redis 實現秒殺的場景,能夠輕松應對極高負載下的數據請求,以保證數據準確的同時,減輕服務器壓力,提升系統的工作效率。

一、Redis 簡介

REmote DIctionary Server(Redis)是一個由 Salvatore Sanfilippo 寫的 keyvalue 存儲系統。Redis 是一個開源的使用 ANSI C 語言編寫、遵守 BSD 協議、支持網絡、可基于內存、分布式、可選持久性的鍵值對(Key-Value)存儲數據庫,并提供多種語言的 API。

Redis 是一個速度非常快的非關系數據庫(non-relational database),它可以儲存鍵(key)與5 種不同類型的值(value)之間的映射(mapping),可以將存儲在內存的鍵值對數據持久化到硬盤,可以使用復制特性來擴展讀性能,還可以使用客戶端分片來擴展寫性能。

二、Redis 優勢

性能極高;豐富的數據類型-Redis 支持二進制案例的 Strings,Lists,Hashes,Sets 及 Ordered Sets 數據類型操作;原子–Redis的所有操作都是原子性的,意思就是要么成功執行要么失敗完全不執行。單個操作是原子性的。多個操作也支持事務,即原子性,通過MULTI和EXEC 指令包起來;豐富的特性–Redis 還支持 publish/subscribe,通知,key 過期等等特性。

三、C#簡介

C#是可用于創建要運行在>NETCLR 上的應用程序的語言之一,它從C和C++語言演化而來,是Microsoft 專門為使用.Net 平臺而創建的。是一個現代的,通用的,面向對象的編程語言。

四、C#特點

現代的,通用的編程語言,面對對象,面向組件,容易學習,可以在多種計算機平臺上編譯,.Net 框架的一部分;快速地構建一個應用,設計美觀的用戶界面,構建令人贊嘆的可視化程序,專注于解決你的實際問題。

五、SQLServer 簡介

SQLServer 是由美國Microsoft 公司研發出來的一種可擴展,高性能的關系型數據庫管理系統(RDBMS)。主要功能就是同各種數據庫建立聯系。

六、SQLServer 特點

用戶界面圖形化,管理數據更加明朗清楚;工具非常豐富,可選擇性強;集成WindowsNT,高性能設計;伸縮性很好,可跨越多平臺使用;有強大的事務處理功能,確保數據的完整性。

七、總體設計

本系統一共分為商品模塊,秒殺模塊,消費模塊三個模塊。由商家 進行商品的上架和設置秒殺個數,開始時間等設置,消費者在秒殺開始后,進行秒殺,秒殺成功的消費者進行支付,商品去庫存,秒殺失敗的消費者給予失敗提示。

(一)設計思路

第一,數據寫在內存當中,而不是硬盤當中。在大數據并發的情況下,傳統模式中,如果頻繁請求數據庫實時獲取庫存,寫入數據等操作會給服務器帶來很大的壓力,導致服務器宕機。通過Redis 將數據寫入內存,內存的讀寫速度比SSD 硬盤快不止10倍,比普通硬盤快百倍。因此,將數據先寫入內存,就能使系統運算能力提升上千倍。設計思路如圖:

第二,進行異步操作,而不是同步操作。同步操作在面對大并發時,需要準備大量的服務器來應對,但是秒殺場景屬于短時大并發,有很明顯的波峰和波谷,應對短時大并發購買大量服務器在經濟上不合算。另一個,一條完整的程序請求鏈有時可能需要很長時間,讓用戶一直等待,體驗很差,異步操作可以在后臺持續運行,用戶請求后直接返回。處理能力會有很大的提升。

第三,分布式處理。可以安排多臺服務器參與,把海量用戶的請求分散到各個服務器上,減少單個服務器壓力。

八、各模塊功能設計

(一)商品模塊

此模塊分為商家界面和用戶界面兩種。主要是實現商品的發布,上架,設置秒殺時間和秒殺數量,展示在用戶界面。

第一,商家界面。1.商品發布:該功能主要是商家進行商品的發布上架,設置商品信息,圖片等介紹,設置是否開啟秒殺,秒殺時間,秒殺數量等信息,保存后儲存到SqlServer 數據庫中。2.商品管理:該功能是將商家發布的商品進行展示,商家可以管理自己發布的商品,進行下架,刪除,修改,發物流等操作。3.查詢功能:商家可以輸入需要查找的商品關鍵字,模糊搜索查找到對應的商品。還可以查看各個商品下那些人購買過等詳情。

第二,用戶界面。1.用戶登錄:用戶輸入用戶名,密碼登錄系統,系統會檢查用戶名,密碼是否存在,是否合法。2.商品查看:該功能主要是展示商家發布出來的商品列表,用戶可以點擊商品查看各個商品的詳細信息。3.查詢功能:用戶可以查詢自己購買的商品的詳情,可以進行退貨退款或者確認收貨等操作,還可以看到物流等信息。

(二)秒殺模塊

對于秒殺的商品,頁面會有秒殺開始倒計時,秒殺開始后,用戶在商品詳情頁面進行秒殺操作,提交用戶信息和商品信息到后臺,通過程序進行秒殺實際操作。系統先根據商品id 獲取到商品可以秒殺的總數量,寫入到Redis 緩存當中,一個秒殺請求進來,加鎖,先判斷根據設置的Redis的Key,看是否能找到這個緩存的Value,如果找不到,則根據商品id 獲取已經秒殺成功的數量+1 放入redis 緩存中,判斷當前Key的Value和秒殺總數相比,如果當前數量<=秒殺總數,則放到異步中進行數據交互,否則直接返回false 提示秒殺已沒庫存。異步采用的是RabbitMq 消息隊列,特點是先進先出,一次只能執行一條數據,不會造成數據擁擠,完美的解決了并發。主要代碼如圖:

(三)消費模塊

該模塊就是針對已秒殺成功的用戶,進行支付的操作,調用喚起微信支付等操作進行支付功能,不做過多描述。支付成功后,系統拿到成功返回值,提示用戶支付成功,商品變成待收貨狀態,可以在待收貨中查看并可以進行退貨等操作。提示商家該物品已完成支付,可以進行發貨等操作。

九、數據存儲

數據的存儲至關重要,數據庫表設計的好壞直接影響系統運行的速度。本系統用的是SqlServer 數據庫。1.商品主表:表字段主要有主鍵id(自增),商品名稱,商品內容,發布用戶ID,是否秒殺,數量,創建時間,商品狀態。2.用戶主表:表字段主要有主鍵ID(自增),用戶名,密碼,用戶類型,創建時間,用戶狀態。3.用戶購買商品記錄表:表字段主要有主鍵ID(自增),商品ID,用戶ID,創建時間,狀態。4.物流表:表字段主要有主鍵ID(自增),用戶購買記錄表ID,商品ID,用戶ID,物流信息,狀態,創建時間。

十、結語

互聯網高速發展的今天,各種電商,自媒體等平臺勢頭越來越盛,大家隨時隨地都在享受網購帶給人們的便利,各種秒殺活動也越來越多,大數據高并發成了平臺不得不面對的山峰。本設計利用Redis 將數據寫入內存,大大提升了讀寫速度,數據請求中80%都是讀的請求,利用Redis 讀寫分離,把讀數據的速度提升上千倍,自然運行速度提升,服務器壓力減小,使得同量級的服務器能承載更大數據量訪問,也使得服務器相對穩定。在實際應用中是非常推薦的。

猜你喜歡
數據庫用戶
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: a级毛片免费播放| 欧洲日本亚洲中文字幕| 国产精品自在在线午夜区app| 国产成人一区免费观看| 国产日韩欧美一区二区三区在线| 色九九视频| 最新加勒比隔壁人妻| 九九精品在线观看| 2022国产91精品久久久久久| 91丨九色丨首页在线播放| 国产剧情无码视频在线观看| 播五月综合| 亚洲性日韩精品一区二区| 麻豆国产精品一二三在线观看| 三级欧美在线| 国产乱码精品一区二区三区中文| 最新国产成人剧情在线播放| 91麻豆国产在线| 国产精品久久自在自2021| 欧美综合中文字幕久久| 国产午夜一级毛片| 亚洲一级色| 欧洲成人在线观看| 久久免费精品琪琪| 最新精品久久精品| 免费a级毛片18以上观看精品| 亚洲色无码专线精品观看| 久久这里只有精品2| www精品久久| 成人国产一区二区三区| 久久久成年黄色视频| 欧美激情视频一区二区三区免费| 国产高清色视频免费看的网址| 亚洲成人一区二区| 99视频在线免费看| 国产免费福利网站| 91免费国产高清观看| 99尹人香蕉国产免费天天拍| yjizz视频最新网站在线| 日韩高清欧美| 人妻丝袜无码视频| 亚洲第一精品福利| 亚洲第一区欧美国产综合 | 九九久久精品免费观看| 国产va免费精品| 色天天综合久久久久综合片| 亚洲久悠悠色悠在线播放| 91久久精品日日躁夜夜躁欧美| 久久人与动人物A级毛片| 亚洲精品亚洲人成在线| 伊人激情综合网| 免费全部高H视频无码无遮掩| 久久精品中文字幕免费| 欧美成人午夜视频免看| 996免费视频国产在线播放| 精品国产成人av免费| 在线不卡免费视频| 无码福利日韩神码福利片| 亚洲系列中文字幕一区二区| 欧美日韩v| 欧美日韩高清在线| 亚洲黄网在线| 高h视频在线| 久久青草热| 日本亚洲成高清一区二区三区| 婷五月综合| 日本亚洲最大的色成网站www| 99精品欧美一区| 亚洲热线99精品视频| 欧洲极品无码一区二区三区| 成人福利在线视频免费观看| 欧美在线天堂| 婷婷丁香在线观看| 一本一道波多野结衣一区二区 | 免费 国产 无码久久久| 久久无码高潮喷水| 亚洲精品777| 国产精品青青| 亚洲高清中文字幕| 国产综合欧美| 99爱视频精品免视看| 91最新精品视频发布页|