使用Redis作为主数据库

问题描述 投票:0回答:3

我正在为我的游戏实现排行榜,由于它需要快速且运行时,我计划使用 Redis。我以前没有使用过Redis,所以我对一件事感到困惑。据我所知,Redis 主要用作缓存,但在我的场景中,我将其规划为数据库。我可以这样做吗?或者我也应该将排行榜数据存储在数据库中吗?在这种情况下,最佳做法是什么?

database redis game-development leaderboard
3个回答
1
投票

将 Redis 用作可操作的 NoSQL 数据库以及具有企业功能(分布式、可扩展性、并发性和可扩展性)的数据结构服务器(例如计数器、堆栈、队列、优先级队列、集合、排行榜等)是完全有效的。可控交易保障)。

Redis 不仅仅是一个缓存(请参阅此处此处)。我来自Redis。我们的许多付费 Redis Enterprise SoftwareRedis Cloud 客户都使用 Redis 作为主数据库和数据结构服务器。具体来说,世界上许多游戏行业的领导者都使用 Redis 作为排行榜的主要存储(请参阅此处此处此处)。


0
投票

简单的答案是将排行榜数据存储在可靠的数据库中,并将其加载到 Redis 作为辅助数据库。

但是,可以配置 Redis 持久性 RDB + AOF,并且使用该选项您只能使用 Redis,但请注意,使用 RDB + AOF 将影响 Redis 的写入操作性能,并且可能会出现另一个问题,将您映射到-内存数据到磁盘。

Redis 是内存存储,正如您所知,使其成为主要数据库存在一些障碍。您还可以尝试现成的解决方案,例如 AWS MemoryDB,它同时是可靠的数据库和 Redis。如果您无法使用这样的解决方案,我不建议您集中精力尝试仅将数据存储在 Redis 上,并通过常规的、易于理解的数据库来备份数据。


0
投票

据我所知Redis主要是作为缓存使用的,但是在我的场景中 我像数据库一样规划它。 事实上,Redis 主要用于临时数据,例如缓存、会话,或者在您的情况下,用于维护中间分数。

持久存储有更好的选择:关系数据库(PostgreSQL、MySQL 等)或 NoSQL(MongoDB、Firebase 等)。除了持久性之外,它们还提供许多与查询相关的功能以及并发用户访问和事务。

Redis 是排行榜的绝佳选择,因为它具有排序集数据结构,可以将排行榜维持在排序状态。此外,Redis 还提供命令来轻松检索顶部或底部范围。欲了解更多详情,请阅读文章

© www.soinside.com 2019 - 2024. All rights reserved.