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

云服务、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

相关推荐
AnnyYoung21 分钟前
华为云deepseek大模型平台:deepseek满血版
人工智能·ai·华为云
web135085886353 小时前
全面指南:使用JMeter进行性能压测与性能优化(中间件压测、数据库压测、分布式集群压测、调优)
jmeter·中间件·性能优化
Earth explosion4 小时前
ide使用技巧与插件推荐
ide
dringlestry5 小时前
pycharm将当前项目上传到github
ide·pycharm·github
带娃的IT创业者10 小时前
《Python实战进阶》专栏 No2: Flask 中间件与请求钩子的应用
python·中间件·flask
明月清风徐徐13 小时前
Miniconda + VSCode 的Python环境搭建
ide·vscode·python
HeartRaindj14 小时前
【中间件开发】kafka使用场景与设计原理
分布式·中间件·kafka
郑祎亦17 小时前
IDE(集成开发环境)
ide
三掌柜66617 小时前
使用Trae AI IDE,轻松实现交友聊天功能
ide·人工智能
fruge17 小时前
007 HBuilderX提示IDE service port disabled. To use CLI Call, open IDE
ide·notepad++