【IDE插件教学】华为云应用中间件系列—Redis实现(电商游戏应用)排行榜示例

news/2024/12/13 2:29:19/

云服务、API、SDK,调试,查看,我都行

阅读短文您可以学习到:应用中间件系列之Redis实现(电商游戏应用)排行榜示例

1      什么是DEVKIT

华为云开发者插件(Huawei Cloud Toolkit),作为华为云围绕其产品能力向开发者桌面上的延伸,帮助开发者快速在本地连接华为云,打通华为云到开发者的最后一公里。Huawei Cloud ToolKit是围绕华为云开发者生态工具体系打造的一系列IDE插件,支持VS Code、IntelliJ IDEA等系列平台、以及华为云自研 CodeArts IDE ,帮助开发者更高效、便捷的搭建应用。致力于为开发者提供更稳定、快速、安全的编程体验。

体验路径:Toolkit-华为云

2      IDE与DEVKIT的关系

2.1      什么是CodeArts IDE?

CodeArts IDE是一个集成开发环境(IDE),兼具源代码编辑器的简易性和开发人员工具的强大功能,如代码补全和调试。

下载路径:Toolkit-华为云

2.2     IntelliJ IDEA与DEVKIT的关系

安装准备

下载并安装JDK1.8或更高版本。

下载并安装IntelliJ IDEA 2020.2或更高版本。

安装验证

在IntelliJ系列平台上安装插件成功后在左侧的导航栏中可以看到Huawei Cloud Toolkit图标,点击后面板会出现Huawei Cloud API的字样,则说明安装成功。

下载路径:Toolkit-华为云

2.3     CodeArts IDE与DEVKIT的关系

API插件是CodeArts IDE原生内置的插件,默认已经安装。左侧的导航栏中可以看到相关图标。

下载路径:Toolkit-华为云

2.4      Visual Studio Code IDE与DEVKIT的关系

安装准备

下载并安装Visual Studio Code最新版本。

安装验证

在VS Code IDE安装插件成功后在左侧的导航栏中可以看到Huawei Cloud Toolkit图标,点击后面板会出现Huawei Cloud API的字样,则说明安装成功。

下载路径:Toolkit-华为云

3      Redis实现(电商游戏应用)排行榜示例(Java版本)

3.1      使用Redis实现排行榜功能

版本说明:本示例基于华为云分布式缓存服务Redis基础版 5.0开发。

简介

Redis实现(电商游戏应用)排行榜示例(Java版本)

在网页和APP中常常需要用到榜单的功能,对某个key-value的列表进行降序显示。当操作和查询并发大的时候,使用传统数据库就会遇到性能瓶颈,造成较大的时延。

使用分布式缓存服务(DCS)的Redis版本,可以实现一个商品热销排行榜的功能。它的优势在于:

数据保存在缓存中,读写速度非常快。

提供字符串(String)、链表(List)、集合(Set)、哈希(Hash)等多种数据结构类型的存储。

本实践介绍如何使用Redis实现商品销量排行。

开发前准备

注册华为云账号,详细操作请参见如何注册华为云管理控制台的用户?,并完成实名认证。

已购买具有公网IP的ECS,详细操作请参见购买并登录Linux弹性云服务器。

已购买DCS缓存实例,详细操作请参见购买缓存实例,且需保证DCS实例与已购买具的ECS在同一虚拟私有云、子网内,并在已购买具的ECS上配置公网访问Redis,详细操作请参见使用Nginx实现公网访问Redis 4.0/5.0的单机/主备/Proxy集群实例。

安装SDK

您可以通过Maven方式获取和安装SDK,首先需要在您的操作系统中下载并安装Maven ,安装完成后您只需要在Java项目的pom.xml文件中加入相应的依赖项即可。

<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version>
</dependency>

开始使用

导入依赖模块

//导入数据类型类
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
//通用唯一识别码类
import java.util.UUID;
//Redis客户端Jedis类
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Tuple;

生成产品及销量数据

示例代码

// 随机生成产品数据List<String> productList = new ArrayList<>();for (int i = 0; i < PRODUCT_KINDS; i++) {productList.add("product-" + UUID.randomUUID().toString());}// 随机生成销量for (int i = 0; i < productList.size(); i++) {int sales = (int) (Math.random() * 20000);String product = productList.get(i);// 插入Redis的SortedSet中jedisClient.zadd(key, sales, product);}

按销量顺序输出排行榜

示例代码

 // 获取所有列表并按销量顺序输出Set<Tuple> sortedProductList = jedisClient.zrevrangeWithScores(key, 0, -1);for (Tuple product : sortedProductList) {System.out.println("产品ID: " + product.getElement() + ", 销量: "+ (int) product.getScore());}System.out.println();System.out.println("                   " + key);System.out.println("                   前五大热销产品");// 获取销量前五列表并输出Set<Tuple> sortedTopList = jedisClient.zrevrangeWithScores(key, 0, 4);for (Tuple product : sortedTopList) {System.out.println("产品ID: " + product.getElement() + ", 销量: "+ (int) product.getScore());}

3.2      展示效果

编译并运行以上Demo程序,结果如下:

商品热销排行榜

产品ID: product-b290c0d4-e919-4266-8eb5-7ab84b19862d, 销量: 18433

产品ID: product-e61a0642-d34f-46f4-a720-ee35940a5e7f, 销量: 18334

产品ID: product-ceeab7c3-69a7-4994-afc6-41b7bc463d44, 销量: 18196

产品ID: product-f2bdc549-8b3e-4db1-8cd4-a2ddef4f5d97, 销量: 17870

产品ID: product-f50ca2de-7fa4-45a3-bf32-23d34ac15a41, 销量: 17842

产品ID: product-d0c364e0-66ec-48a8-9ac9-4fb58adfd033, 销量: 17782

产品ID: product-5e406bbf-47c7-44a9-965e-e1e9b62ed1cc, 销量: 17093

产品ID: product-0c4d31ee-bb15-4c88-b319-a69f74e3c493, 销量: 16432

产品ID: product-a986e3a4-4023-4e00-8104-db97e459f958, 销量: 16380

产品ID: product-a3ac9738-bed2-4a9c-b96a-d8511ae7f03a, 销量: 15305

产品ID: product-6b8ad4b7-e134-480f-b3ae-3d35d242cb53, 销量: 14534

产品ID: product-26a9b41b-96b1-4de0-932b-f78d95d55b2d, 销量: 11417

产品ID: product-1f043255-a1f9-40a0-b48b-f40a81d07e0e, 销量: 10875

产品ID: product-c8fee24c-d601-4e0e-9d18-046a65e59835, 销量: 10521

产品ID: product-5869622b-1894-4702-b750-d76ff4b29163, 销量: 10271

产品ID: product-ff0317d2-d7be-4021-9d25-1f997d622768, 销量: 9909

产品ID: product-da254e81-6dec-4c76-928d-9a879a11ed8d, 销量: 9504

产品ID: product-fa976c02-b175-4e82-b53a-8c0df96fe877, 销量: 8630

产品ID: product-0624a180-4914-46b9-84d0-9dfbbdaa0da2, 销量: 8405

产品ID: product-d0079955-eaea-47b2-845f-5ff05a110a70, 销量: 7930

产品ID: product-a53145ef-1db9-4c4d-a029-9324e7f728fe, 销量: 7429

产品ID: product-9b1a1fd1-7c3b-4ae8-9fd3-ab6a0bf71cae, 销量: 5944

产品ID: product-cf894aee-c1cb-425e-a644-87ff06485eb7, 销量: 5252

产品ID: product-8bd78ba8-f2c4-4e5e-b393-60aa738eceae, 销量: 4903

产品ID: product-89b64402-c624-4cf1-8532-ae1b4ec4cabc, 销量: 4527

产品ID: product-98b85168-9226-43d9-b3cf-ef84e1c3d75f, 销量: 3095

产品ID: product-0dda314f-22a7-464b-ab8c-2f8f00823a39, 销量: 2425

产品ID: product-de7eb085-9435-4924-b6fa-9e9fe552d5a7, 销量: 1694

产品ID: product-9beadc07-aab0-438c-ac5e-bcc72b9d9c36, 销量: 1135

产品ID: product-43834316-4aca-4fb2-8d2d-c768513015c5, 销量: 256

商品热销排行榜

前五大热销产品

产品ID: product-b290c0d4-e919-4266-8eb5-7ab84b19862d, 销量: 18433

产品ID: product-e61a0642-d34f-46f4-a720-ee35940a5e7f, 销量: 18334

产品ID: product-ceeab7c3-69a7-4994-afc6-41b7bc463d44, 销量: 18196

产品ID: product-f2bdc549-8b3e-4db1-8cd4-a2ddef4f5d97, 销量: 17870

产品ID: product-f50ca2de-7fa4-45a3-bf32-23d34ac15a41, 销量: 17842

4      体验插件的魅力

华为云devkit已上线:https://developer.huaweicloud.com/develop/toolkit.html


http://www.ppmy.cn/news/1152424.html

相关文章

2023年中国玉米深加工产能、市场规模、消费量及产品需求结构[图]

玉米深加工顾名思义就是将产业链延长,进而提升产品附加值,利用玉米提炼出酒精、玉米胚芽油、淀粉和饲料等大概两百余种玉米深加工产品。我国是玉米种植大国&#xff0c;也是玉米深加工大国&#xff0c;但是玉米加工行业却长时间处于产能过剩、开工率不足、利润率低下的境况&…

LCR 026. 重排链表

LCR 026. 重排链表 题目链接&#xff1a;LCR 026. 重排链表 注&#xff1a;该题与 143. 重排链表完全一样 代码如下&#xff1a; class Solution { public:void reorderList(ListNode* head){if(headnullptr||head->nextnullptr||head->next->nextnullptr)return;L…

微服务 BFF 架构设计

在现代软件开发中&#xff0c;由于程序、团队、数据规模太大&#xff0c;需要把企业的业务能力进行复用&#xff0c;将领域服务剥离&#xff0c;提供通用能力&#xff0c;避免重复建设和代码&#xff1b;另外服务功能的弹性能力不一样&#xff0c;比如定时任务、数据同步明确的…

一次c++监听Linux文件目录的实践

目的&#xff1a;监听系统/data/system/dropbox目录&#xff0c;解析出crash和ANR&#xff0c;并上传云端。 这里只记录如何监听这个目录和实践中遇到的问题。 使用的到技术&#xff1a; 1.inotify 2.epoll 3.thread 环境&#xff1a;android系统 demo测试&#xff1a; …

C语言【关键字】

C语言中32个关键词的含义和用途 分 类 关键字 含义和用途 基本数据类型 简单数据类型 int 声明整型变量或函数 char 声明字符型变量或函数 float 声明浮点型变量或函数 double 声明双精度变量或函数 特殊类型 register 声明寄存器变量 void 声明函数无返回…

软件测试/测试开发/人工智能丨聊聊AutoGPT那些事儿

点此获取更多相关资料 简介 在 ChatGPT 问世之后&#xff0c;大家很容易就发现其依然具备一些很难解决的问题&#xff0c;比如&#xff1a; Token 超出限制怎么办&#xff1f;&#xff08;目前最新的 GPT4 支持最多8,192 tokens&#xff09;。如何完全自动化&#xff1f;任务…

zookeeper应用场景(一)

一、zookeeper客户端api 1、官方Java客户端api 引入zookeeper client依赖 <dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.9.0</version> </dependency> 1&#xff09…

频繁GC问题原因总结

频繁GC 频繁的垃圾回收&#xff08;GC&#xff09;通常是由以下一些原因引起的&#xff1a; 内存分配过多&#xff1a;如果应用程序频繁地分配新的对象而不释放旧的对象&#xff0c;堆内存将快速用满&#xff0c;触发频繁的垃圾回收。这可能是由于代码中存在内存泄漏或不合理…