CN110287430A - 一种基于Redis缓存技术实现商品信息缓存加载的方法 - Google Patents
一种基于Redis缓存技术实现商品信息缓存加载的方法 Download PDFInfo
- Publication number
- CN110287430A CN110287430A CN201910554674.9A CN201910554674A CN110287430A CN 110287430 A CN110287430 A CN 110287430A CN 201910554674 A CN201910554674 A CN 201910554674A CN 110287430 A CN110287430 A CN 110287430A
- Authority
- CN
- China
- Prior art keywords
- store
- redis
- client
- merchandise news
- caching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明特别涉及一种基于Redis缓存技术实现商品信息缓存加载的方法。该基于Redis缓存技术实现商品信息缓存加载的方法,首先,根据商品的基础数据生成商品信息;生成商城或店铺时间戳;根据登录客户的基础数据生成客户信息;生成客户商城或店铺时间戳;生成客户商城商品对应关系;制定商城数据刷新规则和客户查询规则。该基于Redis缓存技术实现商品信息缓存加载的方法,通过规范化的数据更新机制及key值命名规则提高了系统开发的便利性和运行的可靠性,且具有广泛的支持度,对于高并发,尤其是抢购模式的电商平台,可以极大的降低客户频繁刷新页面对数据库造成的压力,在保证数据准确性的同时,提高了系统运行的稳定性。
Description
技术领域
本发明涉及数据缓存技术领域,特别涉及一种基于Redis缓存技术实现商品信息缓存加载的方法。
背景技术
一个网络系统在解决高并发请求时,通常采用缓存机制将数据库中的数据加载到内存或者处理访问速度较快的存储介质中长时间地保存,以减少数据库被访问的次数,进而减少数据库在大量的读取动作中I/O被长期占用造成的性能损耗。
Redis(Remote Dictionary Server,远程数据服务)是一款Key-Value存储的内存高速缓存数据库。与Memcached类似,Redis本质上是一个Key-Value类型的内存数据库,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过10万次读写操作,是已知性能最快的Key-Value DB。
但是与Memcached相比,当Redis缓存数据库支持存储的value类型相对更多,包括String(字符串)、List(链表)、Set(集合)和Zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。
同时,相比memcached,Redis缓存技术还具有以下优势:
(1)memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型;
(2)redis的速度比memcached快很多;
(3)redis可以持久化其数据。
Redis缓存的出色之处不仅仅是性能,Redis缓存最大的魅力是支持保存多种数据结构。此外单个value的最大限制是1GB,不像memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能。
例如,用Redis缓存的List(链表)来做FIFO双向链表,可以实现一个轻量级的高性能消息队列服务;用Redis缓存的Set(集合)可以做高性能的tag系统等等。另外Redis缓存也可以对存入的Key-Value设置expire时间,因此也可以被当作一个功能加强版的memcached来用。
Redis缓存技术的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis缓存技术适合的场景主要局限在较小数据量的高性能操作和运算上。
随着计算机技术的发展,通过电商平台进行网上购物变得越来越流行。电商平台系统在面对大量用户高并发请求系统时,尤其面对多店铺、多商品、商品抢购的情况下,高并发的商品信息数据查询请求会对数据库造成极大的压力。因此往往使用Redis缓存技术对商品信息进行缓存加载。使用Redis缓存机制虽能提供高效的查询速度和请求响应,但仍存在以下问题:
1、商品信息更新的及时性对系统的运行至关重要,数据缓存机制设置不合理,会导致系统运行结果的偏差;
2、商品信息数据缓存Key值命名需要合理的规范,否则在系统开发过程中会带来较多不便。
基于上述问题,本发明提出了一种基于Redis缓存技术实现商品信息缓存加载的方法。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的基于Redis缓存技术实现商品信息缓存加载的方法。
本发明是通过如下技术方案实现的:
一种基于Redis缓存技术实现商品信息缓存加载的方法,其特征在于,包括以下步骤:
(1)首先,根据商品的基础数据生成商品信息;
(2)生成商城或店铺时间戳;
(3)根据登录客户的基础数据生成客户信息;
(4)生成客户商城或店铺时间戳;
(5)生成客户商城商品对应关系;
(6)制定商城数据刷新规则和客户查询规则。
所述步骤(1)中,生成商品信息的数据结构为Redis的Set集合,用于保存商品的基础数据,其键值为ITEM_INFO_商品编码。
所述步骤(2)中,生成商城或店铺时间戳的数据结构为Redis的Key-String键值对,用于保存商城商品的更新时间戳,其键值为SM_ITEM_TIME_商城或店铺编码。
所述步骤(3)中,生成客户信息的数据结构为Redis的Set集合,用于保存登陆客户的基础数据,其键值为CUST_INFO_客户编码。
所述步骤(4)中,生成客户商城或店铺时间戳的数据结构为Redis的Key-String键值对,用于保存客户最新一次查询商城可够商品列表的时间戳。
所述步骤(5)中,生成客户商城商品对应关系的数据结构为Redis的Key-String键值对,将客户在某商城可购的商品列表进行Json格式化后保存,其键值为CUST_SM_ITEM_客户编码_商城或店铺编码。
所述步骤(6)中,商城数据刷新规则为商城或店铺修改商品信息后,刷新商品信息缓存,并更新商城时间戳,表示该商城商品信息已更新。
所述步骤(6)中,客户查询规则为对比商城时间戳与客户商城时间戳,如果商城时间戳新于客户商城时间戳,则查询最新数据,更新客户商城商品对应关系,并更新客户商城时间戳,以达到保证客户查询商品数据准确性的目的。
本发明的有益效果是:该基于Redis缓存技术实现商品信息缓存加载的方法,通过规范化的数据更新机制及key值命名规则提高了系统开发的便利性和运行的可靠性,且具有广泛的支持度,对于高并发,尤其是抢购模式的电商平台,可以极大的降低客户频繁刷新页面对数据库造成的压力,将数据库性能更多的提供给后续的订单保存处理逻辑中,在保证数据准确性的同时,提高了系统运行的稳定性。
附图说明
附图1为本发明基于Redis缓存技术实现商品信息缓存加载的方法示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该基于Redis缓存技术实现商品信息缓存加载的方法,包括以下步骤:
(1)首先,根据商品的基础数据生成商品信息;
(2)生成商城或店铺时间戳;
(3)根据登录客户的基础数据生成客户信息;
(4)生成客户商城或店铺时间戳;
(5)生成客户商城商品对应关系;
(6)制定商城数据刷新规则和客户查询规则。
所述步骤(1)中,生成商品信息的数据结构为Redis的Set集合,用于保存商品的基础数据,其键值为ITEM_INFO_商品编码。
所述步骤(2)中,生成商城或店铺时间戳的数据结构为Redis的Key-String键值对,用于保存商城商品的更新时间戳,其键值为SM_ITEM_TIME_商城或店铺编码。
所述步骤(3)中,生成客户信息的数据结构为Redis的Set集合,用于保存登陆客户的基础数据,其键值为CUST_INFO_客户编码。
所述步骤(4)中,生成客户商城或店铺时间戳的数据结构为Redis的Key-String键值对,用于保存客户最新一次查询商城可够商品列表的时间戳。
所述步骤(5)中,生成客户商城商品对应关系的数据结构为Redis的Key-String键值对,将客户在某商城可购的商品列表进行Json格式化后保存,其键值为CUST_SM_ITEM_客户编码_商城或店铺编码。
所述步骤(6)中,商城数据刷新规则为商城或店铺修改商品信息后,刷新商品信息缓存,并更新商城时间戳,表示该商城商品信息已更新。
所述步骤(6)中,客户查询规则为对比商城时间戳与客户商城时间戳,如果商城时间戳新于客户商城时间戳,则查询最新数据,更新客户商城商品对应关系,并更新客户商城时间戳,以达到保证客户查询商品数据准确性的目的。
该基于Redis缓存技术实现商品信息缓存加载的方法,通过规范化的数据更新机制及key值命名规则提高了系统开发的便利性和运行的可靠性,且具有广泛的支持度,对于高并发,尤其是抢购模式的电商平台,可以极大的降低客户频繁刷新页面对数据库造成的压力,将数据库性能更多的提供给后续的订单保存处理逻辑中,在保证数据准确性的同时,提高了系统运行的稳定性。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (8)
1.一种基于Redis缓存技术实现商品信息缓存加载的方法,其特征在于,包括以下步骤:
(1)首先,根据商品的基础数据生成商品信息;
(2)生成商城或店铺时间戳;
(3)根据登录客户的基础数据生成客户信息;
(4)生成客户商城或店铺时间戳;
(5)生成客户商城商品对应关系;
(6)制定商城数据刷新规则和客户查询规则。
2.根据权利要求1所述的基于Redis缓存技术实现商品信息缓存加载的方法,其特征在于:所述步骤(1)中,生成商品信息的数据结构为Redis的Set集合,用于保存商品的基础数据,其键值为ITEM_INFO_商品编码。
3.根据权利要求1所述的基于Redis缓存技术实现商品信息缓存加载的方法,其特征在于:所述步骤(2)中,生成商城或店铺时间戳的数据结构为Redis的Key-String键值对,用于保存商城商品的更新时间戳,其键值为SM_ITEM_TIME_商城或店铺编码。
4.根据权利要求1所述的基于Redis缓存技术实现商品信息缓存加载的方法,其特征在于:所述步骤(3)中,生成客户信息的数据结构为Redis的Set集合,用于保存登陆客户的基础数据,其键值为CUST_INFO_客户编码。
5.根据权利要求1所述的基于Redis缓存技术实现商品信息缓存加载的方法,其特征在于:所述步骤(4)中,生成客户商城或店铺时间戳的数据结构为Redis的Key-String键值对,用于保存客户最新一次查询商城可够商品列表的时间戳。
6.根据权利要求1所述的基于Redis缓存技术实现商品信息缓存加载的方法,其特征在于:所述步骤(5)中,生成客户商城商品对应关系的数据结构为Redis的Key-String键值对,将客户在某商城可购的商品列表进行Json格式化后保存,其键值为CUST_SM_ITEM_客户编码_商城或店铺编码。
7.根据权利要求1所述的基于Redis缓存技术实现商品信息缓存加载的方法,其特征在于:所述步骤(6)中,商城数据刷新规则为商城或店铺修改商品信息后,刷新商品信息缓存,并更新商城时间戳,表示该商城商品信息已更新。
8.根据权利要求1所述的基于Redis缓存技术实现商品信息缓存加载的方法,其特征在于:所述步骤(6)中,客户查询规则为对比商城时间戳与客户商城时间戳,如果商城时间戳新于客户商城时间戳,则查询最新数据,更新客户商城商品对应关系,并更新客户商城时间戳,以达到保证客户查询商品数据准确性的目的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910554674.9A CN110287430B (zh) | 2019-06-25 | 2019-06-25 | 一种基于Redis缓存技术实现商品信息缓存加载的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910554674.9A CN110287430B (zh) | 2019-06-25 | 2019-06-25 | 一种基于Redis缓存技术实现商品信息缓存加载的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287430A true CN110287430A (zh) | 2019-09-27 |
CN110287430B CN110287430B (zh) | 2023-04-18 |
Family
ID=68005531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910554674.9A Active CN110287430B (zh) | 2019-06-25 | 2019-06-25 | 一种基于Redis缓存技术实现商品信息缓存加载的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287430B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112818019A (zh) * | 2021-01-29 | 2021-05-18 | 北京思特奇信息技术股份有限公司 | 一种应用于Redis客户端的查询请求过滤方法及Redis客户端 |
CN113448649A (zh) * | 2021-07-06 | 2021-09-28 | 聚好看科技股份有限公司 | 一种基于Redis的首页数据加载的服务器及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001229268A (ja) * | 2000-02-15 | 2001-08-24 | Hitachi Ltd | オンラインショッピングシステム及び商品提案方法 |
CN106372994A (zh) * | 2016-08-31 | 2017-02-01 | 北京炎黄新星网络科技有限公司 | 一种处理订单的方法和系统 |
CN108629644A (zh) * | 2017-03-20 | 2018-10-09 | 天脉聚源(北京)科技有限公司 | 一种管理互联网商城商品信息的方法和系统 |
-
2019
- 2019-06-25 CN CN201910554674.9A patent/CN110287430B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001229268A (ja) * | 2000-02-15 | 2001-08-24 | Hitachi Ltd | オンラインショッピングシステム及び商品提案方法 |
CN106372994A (zh) * | 2016-08-31 | 2017-02-01 | 北京炎黄新星网络科技有限公司 | 一种处理订单的方法和系统 |
CN108629644A (zh) * | 2017-03-20 | 2018-10-09 | 天脉聚源(北京)科技有限公司 | 一种管理互联网商城商品信息的方法和系统 |
Non-Patent Citations (1)
Title |
---|
王小戏等: "高并发高可用零售O2O交易系统的架构设计与业务实现", 《计算机与现代化》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112818019A (zh) * | 2021-01-29 | 2021-05-18 | 北京思特奇信息技术股份有限公司 | 一种应用于Redis客户端的查询请求过滤方法及Redis客户端 |
CN112818019B (zh) * | 2021-01-29 | 2024-02-02 | 北京思特奇信息技术股份有限公司 | 一种应用于Redis客户端的查询请求过滤方法及Redis客户端 |
CN113448649A (zh) * | 2021-07-06 | 2021-09-28 | 聚好看科技股份有限公司 | 一种基于Redis的首页数据加载的服务器及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110287430B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8892586B2 (en) | Accelerated query operators for high-speed, in-memory online analytical processing queries and operations | |
CN102867070A (zh) | 更新key-value分布式存储系统缓存的方法 | |
CN108052551B (zh) | 一种在redis上实现的存储大量时序数据的方法 | |
EP3377991B1 (en) | In-memory key-value store for a multi-model database | |
US7822710B1 (en) | System and method for data collection | |
US9852453B2 (en) | High-throughput message generation | |
US20070294215A1 (en) | Method, system, and program product for generating a virtual database | |
US20200097571A1 (en) | Column data compression schemes for scaling writes and reads on database systems | |
EP2874077A2 (en) | Stateless database cache | |
US11050436B2 (en) | Advanced database compression | |
Plattner | Sanssoucidb: An in-memory database for processing enterprise workloads | |
CN110275900B (zh) | 一种基于Redis缓存技术监控订单及预警的方法 | |
CN103902660B (zh) | 机群文件系统中通过readdir++预取文件布局的系统及其方法 | |
US11502705B2 (en) | Advanced database decompression | |
CN110287430A (zh) | 一种基于Redis缓存技术实现商品信息缓存加载的方法 | |
CN105975638A (zh) | 一种基于NoSQL的海量航空物流小文件存储结构及其存取方法 | |
US9792312B2 (en) | Row identification column authorization profiles | |
George | Nosql–not only sql | |
CN104199978A (zh) | 基于NoSQL实现元数据缓存与分析的系统及方法 | |
JP2019520627A (ja) | データベース中にグラフ情報を記憶するためのb木使用 | |
US9229969B2 (en) | Management of searches in a database system | |
CN113806466A (zh) | 路径时间查询方法、装置、电子设备和可读存储介质 | |
CN104616354A (zh) | 一种三维gis快速加载空间数据的方法 | |
Zhang et al. | Blockchain storage middleware based on external database | |
CN114003614A (zh) | 一种数据同步装置、方法、网上交易系统、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 271000 Langchao science and Technology Park, 527 Dongyue street, Tai'an City, Shandong Province Applicant after: INSPUR SOFTWARE Co.,Ltd. Address before: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong Applicant before: INSPUR SOFTWARE Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |