Objective c hredis与NSDictionary的使用

Objective c hredis与NSDictionary的使用,objective-c,nsdictionary,redis,Objective C,Nsdictionary,Redis,我正在objective-c中开发一个游戏引擎,我们希望实体能够动态定制每个实体的属性。最初,我们考虑使用NSDictionary,但也知道Redis的Objective-C端口 我的问题是,与NSDictionary相比,使用Redis会有任何性能提升?Redis是一种持久性解决方案。NSDictionary是内存中的键值存储,对键值有特定的限制 这两种方法的重点是解决不同的问题 如果你重新定义关于对象图持久性的问题,那么答案是“核心数据”,除非有一些特定的、很可能是跨平台的、需要使用其他东西

我正在objective-c中开发一个游戏引擎,我们希望实体能够动态定制每个实体的属性。最初,我们考虑使用NSDictionary,但也知道Redis的Objective-C端口


我的问题是,与NSDictionary相比,使用Redis会有任何性能提升?

Redis是一种持久性解决方案。NSDictionary是内存中的键值存储,对键值有特定的限制

这两种方法的重点是解决不同的问题


如果你重新定义关于对象图持久性的问题,那么答案是“核心数据”,除非有一些特定的、很可能是跨平台的、需要使用其他东西。

Redis是一种持久性解决方案。NSDictionary是内存中的键值存储,对键值有特定的限制

这两种方法的重点是解决不同的问题


如果你重新解释关于对象图持久性的问题,那么答案是“核心数据”,除非有一些特定的、很可能是跨平台的、需要使用其他东西。

实体只需要在玩游戏时持久保存在内存中。我们可能希望在将来保存游戏,但这不应影响运行时性能。因此,CoreData可能不太合适。Redis被描述为一个键值存储,它在内存中持久存在,并具有写入磁盘、其他节点等的选项。我们关心性能。为了简单起见,请使用NSDictionary开始。如果存在性能问题,请测量并解决。除非您遇到特殊情况,否则您将很难构建NSDictionary将成为性能瓶颈的东西(当然,这是可以做到的——但问题几乎总是在更高的层次上)。我没有任何具体的数据(从未使用过Redis),但如果您以这种方式构建问题:“你希望哪一个表现更好,苹果所有框架使用的本机键值机制,还是Objective-C客户机与通用键值数据库服务器对话?”,我知道我该下赌注。“移动部件越多==失败的部件越多。”“:)@david它充当服务器,但您可以在本地启动它。尽管如此,我现在还是坚持使用NSDictionary。将接受此作为答案。实体只需在玩游戏时保留在内存中。我们可能希望在将来保存游戏,但这不应影响运行时性能。因此,CoreData可能不太合适。Redis被描述为一个键值存储,它在内存中持久存在,并具有写入磁盘、其他节点等的选项。我们关心性能。为了简单起见,请使用NSDictionary开始。如果存在性能问题,请测量并解决。除非您遇到特殊情况,否则您将很难构建NSDictionary将成为性能瓶颈的东西(当然,这是可以做到的——但问题几乎总是在更高的层次上)。我没有任何具体的数据(从未使用过Redis),但如果您以这种方式构建问题:“你希望哪一个表现更好,苹果所有框架使用的本机键值机制,还是Objective-C客户机与通用键值数据库服务器对话?”,我知道我该下赌注。“移动部件越多==失败的部件越多。”“:)@david它充当服务器,但您可以在本地启动它。尽管如此,我现在还是坚持使用NSDictionary。我会接受这个答案。