【友情提示:先前往活动页完成任务,再参与话题才可获奖哦】:点击立即前往
玩家积分排行榜是游戏设计中的经典使用场景,不仅能直观反馈用户表现,还极大地增加了游戏趣味性和竞技体验。本次活动邀请 B站知名UP主 “小枫社长” 手把手教大家用云数据库 Redis 版自制游戏积分排行榜,5分钟快速入门,还有机会获得HidrateSpark Pro Steel 智能水杯、阿里云瑶池数码套装、社区积分等好礼。
本期话题:
Share有礼|巧用Redis自制排行榜,来聊聊你的实战体验~
- 请提交你制作的游戏积分排行榜截图及源码
- 在制作游戏积分排行榜的过程中,你使用云数据库 Redis 版的感受如何?
- 在实践过程中,你是否遇到了困难?是怎样解决的?
- 除了游戏排行榜外,你认为云数据库 Redis 版还可以用来搭建哪些应用?
欢迎各位开发者跟帖交流实战心得,与我们分享你的体验成果~限定款好礼等你赢取哦~
本期奖品:
本次互动截至到2023年6月30日24时,需要先前往活动页完成 4 个任务,并且围绕话题回复200字以上的内容可参与评奖。我们将围绕交流深度/回答质量/实验成果质量等维度综合进行评选:
1、 最佳回复奖, 名额 1 个,奖品 HidrateSpark Pro Steel 智能水杯
2、走心回复奖, 名额 30 个,奖品阿里云瑶池数码套装
3、人气奖, 名额 3 个,奖品罗马仕充电宝 (点赞数>5,按照数量取前三,点赞截止时间2023年6月30日18时)
4、参与奖: 所有按照要求完成回复的参与者均可获得 50 积分奖励
注:以上奖励不可重复获得
活动规则:
- 需要先前往活动页完成 4 个任务,并且围绕话题回复 200字以上 的内容,方可参与本次有奖评选;
- 所有的答案要求原创,灌水/抄袭/作弊等行为,将不予发奖;
- 获奖名单将于活动结束后3个工作日内公布,礼品将于7个工作日内发放,如遇节假日则顺延。
获奖公告:
本次活动截止到2023年6月30日,共收获106条回复,感谢各位开发者的倾情参与和贡献!
根据奖项规则设置,我们从回答质量 / 实验成果质量 / 交流深度 / 回复原创性等维度综合考量,评选出本次获奖用户,详情如下:
最佳回复奖 (1 名,奖品HidrateSpark Pro Steel 智能水杯): DreamSpark
走心回复奖 (30 名,奖品阿里云瑶池数码套装): yafengliang、穿过生命散发芬芳、aly109u0、IT技术分享社区、梦回故里、唐家四少官微、哪都带你去、摩诃般若、六月的雨在钉钉、打不哭、zll-bj、小七天、ReaganYoung、huc_逆天、不起名字可以不、haiger13、kevinhsu、周周的奇妙编程、一人吃饱,全家不饿、sky為、xkwlkj2018、anisbob、魏红斌、nb@plus、vohelon、owen_wang2023、ling218、hellosir1111、流星雨v5、2023一张嘴巴分三片
恭喜以上获奖用户,后续将有运营同学联系收集物流信息,请注意查收站内消息,奖品将于名单公布后的7个工作日内发放,如遇节假日则顺延。
特别说明: 原人气奖 (3 名,奖品罗马仕充电宝), 根据活动规则“奖品不可重复获得”,在未获得“最佳回复奖”、“走心回复奖”且符合参与评奖的用户中,未能有用户回复点赞数>5,奖项轮空。但考虑到大家的热情参与和贡献,此项奖品额外给予向我们提供有效建议和深度反馈的用户:HaydenGuo、田八、K先生
通过这个游戏,充分展示了redis的功能强大。可以基于redis实现很多业务,教程也十分详细,赞。
实验体验: 实验手册简单明了,根据实验手册很快完成了实现内容。通过此实现了解到Redis的部分使用。如果深入了解Redis的使用,还需要有深入的学习,希望老师能够以后有更多的案例分享。 Redis使用场景: 缓存、排行榜、计数器、限流、分布式会话、分布式锁、抽奖、秒杀、Top排名等等。 源代码截图: 积分排行榜截图:
首先教程真的很详细,跟着教程来也不用担心自己不会操作 Linux 系统,尽管这些命令都很初级。
其次就是对 Java 的编码,代码并不复杂,甚至可以说这个很简单,但是目的是让我们熟悉 云Redis 的操作,只需要简单的配置地址和密码就可以操作 云Redis 了,真的很方便。
然后就是用直接操作代码,写程序的方式来实现一个使用 demo,完成之后还是挺有成就感的,尽管这个 demo 简单的一批,但是体验新的产品,使用新的操作方式真的很吸引人。
还有就是不知道为什么,我在复制 Java 代码的时候, main方法 里面的代码一粘贴进去就被注释掉了,试过好几次都是一样的,我甚至还把代码复制到记事本里面再粘贴进去,还是一样的,最后还是我一行一行的删除注释,就这一点让我体验不是很好,但是问题不是很大。
最后Redis现在的应用真的很广,可以应用在很多地方,解决很多问题,例如实验就是做一个游戏排名就是一个使用案例,有了云Redis可以简化很多操作,而且还有专业的平台供应商来提供服务,稳定性也不用我们来保障,省心。
Java 和redis 的游戏排名demo
java对我来说易如反掌的,我感觉这个实验简单的一笔,这个项目就是简单的对redis使用平平无奇,简单入门。云Redis是一种基于Redis的托管的数据库服务,它具有以下特点:
总之,云Redis是一种高效、弹性扩展、安全、易于管理和维护的数据库服务,可以为企业提供稳定、可靠的Redis服务,减少企业自建Redis的成本和风险。
云数据库Redis版在制作游戏积分排行榜方面的使用体验非常不错。 Redis 是一个高性能的基于内存存储的键值对数据库,常用于高速读写的数据缓存.适合处理海量用户数据 在本次实验中,排行榜使用到了Set集合数据结构进行玩家的积分列表存储,我感受到了它的强大和易用性。作为一个云原生Redis服务,它具备高性能、高可用、高安全和弹性扩展等优势,可以方便地应用于各种场景,如缓存、消息队列、计数器、分布式锁等。同时,云数据库Redis版提供了控制台和API接口,可以方便地进行管理和操作。通过使用云数据库Redis版,我感受到了它的稳定性和可靠性,并且方便快捷地满足了我的业务需求。
本身是写java的,我感觉这个实验还比较简单(难的可能我也不会),这个项目我感觉比较有意义的点就是云redis的简单使用,对云redis进行一个简单入门。云redis它是一个key和value的类型的数据库,他把数据存储在内存中,所以读取和写入都非常快,而且它可以设置数据的过期时间,所以它可以保存验证码之类的数据。而且因为它的读写速度很快,所以可以把它当成一个缓存来使用。总之redis在企业中使用非常广泛,学习它很有必要,个人的理解。
跟着实验的教程完对应任务,教程讲解的十分详细,包含一些常用的操作小细节。
选ubuntu做系统的童鞋注意一下, pom需要改一下才能编译通过
啊 哈哈哈哈 成功了
[root@iZuf6imn4illezw9paqmn8Z demo]# java -classpath target/demo-0.0.1-SNAPSHOT.jar test.GameRankSample 输入所有玩家 玩家ID:ea540b76-3e9d-4888-a042-346ffa41b42a, 玩家得分: 2913 玩家ID:c98366d6-c51a-4fe4-8cfd-6a7889c20bc6, 玩家得分: 1432 玩家ID:a7c2a905-8a0d-4cf9-bb81-3e306f38ac70, 玩家得分: 1847 玩家ID:8c5eadd9-f77d-4d7f-a2ce-bb9547dda0de, 玩家得分: 2405 玩家ID:5601ecf4-7827-4b60-ac61-910488fa7d79, 玩家得分: 1267 玩家ID:898ac84d-d842-453d-b6a3-b4dffe91d1e0, 玩家得分: 2723 玩家ID:51cce612-8e74-41ef-b4ba-df2a860aff00, 玩家得分: 1017 玩家ID:9dc8ad8c-837b-46e8-aa87-495609cba5a1, 玩家得分: 2491 玩家ID:50e86d50-c606-4003-9f9c-64ae8b16c97d, 玩家得分: 4332 玩家ID:a9f13d00-1d43-43f7-a61e-1ecf64d0c030, 玩家得分: 1281 玩家ID:05c61de6-c9ae-451b-84cc-f7848bb2eeef, 玩家得分: 1504 玩家ID:be995d98-d2ed-4e46-8175-0d5b9c2d9adf, 玩家得分: 4909 玩家ID:9513bdf6-2f70-4b15-86da-059f4869cee2, 玩家得分: 52 玩家ID:a2f821e2-3ecc-4c7a-9ad6-95b2cb222575, 玩家得分: 2269 玩家ID:89062995-0ecb-4855-9ea6-ef4ec03734e3, 玩家得分: 3810 玩家ID:d2ebc754-5abd-4a01-96bb-4e5a54bfe7e5, 玩家得分: 423 玩家ID:dcf7e8ae-d517-4b74-8a09-dce37e735ceb, 玩家得分: 686 玩家ID:bf9e640b-4d2b-425d-a575-5b6960ae5d08, 玩家得分: 46 玩家ID:405ae186-1ab6-4050-ad3b-3bec5c60a877, 玩家得分: 1783 玩家ID:2dd4f5a1-d87e-4c9e-95e1-913239f15585, 玩家得分: 235 游戏名:奔跑吧,阿里! 全部玩家排行榜 玩家ID:be995d98-d2ed-4e46-8175-0d5b9c2d9adf, 玩家得分:4909 玩家ID:50e86d50-c606-4003-9f9c-64ae8b16c97d, 玩家得分:4332 玩家ID:89062995-0ecb-4855-9ea6-ef4ec03734e3, 玩家得分:3810 玩家ID:ea540b76-3e9d-4888-a042-346ffa41b42a, 玩家得分:2913 玩家ID:898ac84d-d842-453d-b6a3-b4dffe91d1e0, 玩家得分:2723 玩家ID:9dc8ad8c-837b-46e8-aa87-495609cba5a1, 玩家得分:2491 玩家ID:8c5eadd9-f77d-4d7f-a2ce-bb9547dda0de, 玩家得分:2405 玩家ID:a2f821e2-3ecc-4c7a-9ad6-95b2cb222575, 玩家得分:2269 玩家ID:a7c2a905-8a0d-4cf9-bb81-3e306f38ac70, 玩家得分:1847 玩家ID:405ae186-1ab6-4050-ad3b-3bec5c60a877, 玩家得分:1783 玩家ID:05c61de6-c9ae-451b-84cc-f7848bb2eeef, 玩家得分:1504 玩家ID:c98366d6-c51a-4fe4-8cfd-6a7889c20bc6, 玩家得分:1432 玩家ID:a9f13d00-1d43-43f7-a61e-1ecf64d0c030, 玩家得分:1281 玩家ID:5601ecf4-7827-4b60-ac61-910488fa7d79, 玩家得分:1267 玩家ID:51cce612-8e74-41ef-b4ba-df2a860aff00, 玩家得分:1017 玩家ID:dcf7e8ae-d517-4b74-8a09-dce37e735ceb, 玩家得分:686 玩家ID:d2ebc754-5abd-4a01-96bb-4e5a54bfe7e5, 玩家得分:423 玩家ID:2dd4f5a1-d87e-4c9e-95e1-913239f15585, 玩家得分:235 玩家ID:9513bdf6-2f70-4b15-86da-059f4869cee2, 玩家得分:52 玩家ID:bf9e640b-4d2b-425d-a575-5b6960ae5d08, 玩家得分:46 游戏名:奔跑吧,阿里! Top 玩家 玩家ID:be995d98-d2ed-4e46-8175-0d5b9c2d9adf, 玩家得分:4909 玩家ID:50e86d50-c606-4003-9f9c-64ae8b16c97d, 玩家得分:4332 玩家ID:89062995-0ecb-4855-9ea6-ef4ec03734e3, 玩家得分:3810 玩家ID:ea540b76-3e9d-4888-a042-346ffa41b42a, 玩家得分:2913 玩家ID:898ac84d-d842-453d-b6a3-b4dffe91d1e0, 玩家得分:2723 游戏名:奔跑吧,阿里! 积分在1000至2000的玩家 玩家ID:51cce612-8e74-41ef-b4ba-df2a860aff00, 玩家得分:1017 玩家ID:5601ecf4-7827-4b60-ac61-910488fa7d79, 玩家得分:1267 玩家ID:a9f13d00-1d43-43f7-a61e-1ecf64d0c030, 玩家得分:1281 玩家ID:c98366d6-c51a-4fe4-8cfd-6a7889c20bc6, 玩家得分:1432 玩家ID:05c61de6-c9ae-451b-84cc-f7848bb2eeef, 玩家得分:1504 玩家ID:405ae186-1ab6-4050-ad3b-3bec5c60a877, 玩家得分:1783 玩家ID:a7c2a905-8a0d-4cf9-bb81-3e306f38ac70, 玩家得分:1847 [root@iZuf6imn4illezw9paqmn8Z demo]#
地理位置服务:Redis支持地理位置数据的存储和查询,可以用来构建地理位置服务应用。例如,可以使用Redis的地理位置数据结构和命令来存储用户的位置信息,并进行附近的人、附近的商家等查询。
实时聊天和通信:Redis的发布/订阅模式和字符串数据结构可以用来构建实时聊天和通信应用。可以使用Redis的频道来实现消息的发布和订阅,以及在线用户列表的维护。
活动排名和统计:Redis的有序集合数据结构和排序命令可以用来实现活动的排名和统计。可以将参与活动的用户分数存储在有序集合中,并使用Redis的排序功能来计算和展示排名结果。
数据缓存和预取:除了作为缓存系统外,Redis还可以用于数据的缓存和预取。可以将常用的数据存储在Redis中,以减少对后端数据库的访问,并提高数据的访问速度和性能。
分布式应用协调:Redis提供了分布式锁、发布/订阅、事务等功能,可以用于分布式应用的协调和同步。可以利用Redis的原子操作和持久化特性,实现分布式任务调度、分布式锁的管理等。
实验过程中手册内容比较详细,这个积分很有意思,之前一直玩游戏都没留意过,这种场景引入产品的效果我感觉非常好,特别吸引人,同时我针对“除了游戏排行榜外,你认为云数据库 Redis 版还可以用来搭建哪些应用?”这个问题我有以下一些想法
缓存系统:云数据库 Redis 是一款高性能的键值存储数据库,非常适合用作缓存系统。利用它的缓存功能,可以降低对后端数据库的访问压力,提高应用程序的响应速度。
实时消息队列:Redis 支持发布-订阅模式,可以轻松实现实时消息队列。在互联网应用、物联网设备和消息传递等场景中,可以利用 Redis 并行处理大量的实时消息。
实时分析:Redis 提供丰富的数据结构和原子操作,可以用于搭建实时统计和分析系统。例如,利用 Redis 的计数器、哈希表等数据类型,可以快速实现用户访问量、点击量等统计功能。
会话管理:Redis 对数据的快速访问与删除特性,使其在分布式会话管理方面具有优势。对于 Web 应用以及分布式系统,可以利用 Redis 储存用户会话信息,以达到负载均衡和会话共享的目的。
数据过期处理:可以利用 Redis 的过期时间特性,实现数据的自动过期处理。例如,实现验证码、临时密钥等数据的有效期管理。
排序和排名计算:使用 Redis 的 Sorted Set 结构可以实现在线排序,对微博、论坛等社交应用按照热度排序的需求,以及需要排名计算的地方。
地理位置服务:Redis 支持地理位置基本操作,如计算两个地点之间的距离、根据坐标查询附近的对象等。可以用于基于地理位置的推荐系统、导航服务等应用场景。
分布式锁:Redis 可以实现分布式锁,保证系统中的某些资源同时只被一个客户端使用。例如,用于避免分布式系统中的并发问题、多个任务执行之间的同步。
限流与计数:利用 Redis 的原子操作,可以实现请求限流、访问计数等功能,以防止恶意攻击或滥用系统资源。
利用 Redis 搭配其他数据库,可以实现高性能、高可用、弹性的关系型或非关系型混合存储架构。例如,将 Redis 作为 Elasticsearch 或 MySQL 的前端缓存使用。
总之,云数据库 Redis 版可以应用于多种场景,不仅仅局限于游戏排行榜,在大数据处理、实时分析、缓存等方面都有广泛的应用前景。
请提交你制作的游戏积分排行榜截图及源码
游戏积分排行榜运行截图如下: 游戏积分排行榜源码如下: 官方提供的代码示例演示了如何使用 Redis 实现游戏排行榜功能。通过连接到 Redis 数据库,生成随机的游戏玩家并记录其得分,然后使用 Redis 的 Sorted Set 数据结构存储并排序玩家数据。以用户 id 为 value,关注时间或者分数作为 score 进行排序。代码展示了如何获取全部玩家排行榜、Top5 玩家排行榜以及特定积分范围内的玩家列表。这个示例提供了一个基本框架,可根据实际需求进行进一步定制和扩展,以满足不同的游戏排行榜需求。
在制作游戏积分排行榜的过程中,你使用云数据库 Redis 版的感受如何?
实验手册写的非常的详细,基本上跟着每一步操作就能完成体验,无需进行提前的学习准备。 实验分为领取免费试用资源、搭建Java环境和开发游戏玩家积分排行榜功能、总共只有三步。 第一步领取试用资源非常简单,在实验页面点击开通免费试用即可,免费资源开通到个人账户上,即使实验结束也不会释放,适合好奇宝宝们继续探索别的Redis的打开方式。
第二步将在ECS服务器上搭建一个Java开发环境,包括OpenJDK 1.8和Maven 3.6.3,并配置阿里云镜像仓库。按照实验手册你可以学习如何搭建这样的开发环境,没有难度,对着做就行。
第三步是开发游戏玩家积分排行榜功能,在工作空间内编写入官方提供的Java源码即可,需要注意的是,由于服务器没有数据库,实验使用的是Redis云数据库,因此源码中需要对数据库的连接做响应配置。我们需要将java代码中host和password参数的值替换为Redis内网地址和Redis密码。编写完pom.xml后打包运行代码即可。
使用阿里云云数据库 Redis 版,非常简单易用,省去了自己去搭建环境、部署、优化。Redis也提供了方便的命令行和控制台管理方式。创建、配置和监控Redis实例变得非常简单。 阿里云提供的Redis具备可扩展、高性能、高可用性、网络安全、监控分析和多区域部署等特性,给中小型企业极大的降低了运行维护成本。
在实践过程中,你是否遇到了困难?是怎样解决的?
看帖子发现好多人出现实验环境配置卡在了maven安装的步骤,原因是实验手册提供的命令是已下架的清华源3.6.3版本,我做实验时没有发现安装问题。发现官方已经更改部署命令了,但是文字说明没有做对应更改,建议可以一块都改一下~
除了游戏排行榜外,你认为云数据库 Redis 版还可以用来搭建哪些应用?
Redis是内存数据库,具备很快速的响应能力。还可以用来搭建IM聊天应用,Redis 用作会话存储,将用户的会话数据存储在内存中,提供快速的读写操作和高并发处理能力。这在需要跨多个服务器或负载均衡的环境下特别有用,可以确保用户的会话状态一致性和可靠性。Redis 还提供了发布/订阅功能,可以用于构建实时消息传递系统。IM聊天应用可以使用 Redis 的发布/订阅机制进行实时事件的广播和订阅,例如实时聊天、通知推送等。
Redis提供了丰富的特性,可以用于各种分布式系统应用上,值得上云小伙伴们深入探讨。
云数据库 Redis 版可以用于多种场景,尤其是请求并发量大场景中的数据存储。以下是一些常见的应用场景:
游戏排行榜:游戏行业通常将云数据库 Redis 版作为重要的部署架构组件,用于缓存或数据持久化。Redis 作为缓存层,加速应用访问,而数据则存储在后端的数据库(RDS)中。 电商行业:电商行业中对于 Redis 大量使用,多数在商品展示、购物推荐等模块。 视频直播类应用:视频直播类业务往往会重度依赖 Redis 业务。 读写分离:为满足读多写少的业务场景,最大化节约用户成本,云数据库 Redis 版推出了读写分离规格,为用户提供透明、高可用、高性能、高灵活的读写分离服务。
实验结果截图:
按实验步骤挨着执行命令行就能完成了; 遇到的问题:没有申请ESC服务器,用的公共资源,加载有点慢,大约等了5分钟; 通过本实验可以学习到一些服务器操作命令,vim编辑命令等,不熟悉命令行的也能直接复制实现; 总结: 实验教程很清晰,按步骤执行就好
需要注意redis连接信息,在基本-连接信息里,可以先在本地测试一下redis是否能连接。
云数据库 Redis 版可以用于多种场景,尤其是请求并发量大场景中的数据存储。以下是一些常见的应用场景:
各位好,本次跟着“小枫社长”用Redis搭建游戏排行榜运行结果如下:
步骤很简单,在这里就不浪费时间了,体验不错,不过咱们直奔主题,本次体验建议如下: 1)原生态redis创建时状态未知,一直创建中:建议增加进度条 2)实验室建议增加常见问题的解决方法 (比如粘贴后乱码、连接超时相关排查思路…)
成功了。