这是我关于Stack Overflow的第一个问题,所以如果我打破任何礼仪,请原谅.我也是Objective-C/app创建的新手.
我一直在关注CS193P斯坦福课程,特别是CoreData讲座/演示.在Paul Hegarty的Photomania应用程序中,他以表格视图开始,并在后台填充数据,而不会中断UI流程.我一直在创建一个列出本地区域业务的应用程序(来自返回JSON数据的api).
我根据Paul的照片/摄影师课程创建了类别.类本身的创建不是问题,而是创建它们的地方.
A simplified data structure:
- Section
- Sub-section
- business
- business
- business
- business
- business
- business
Run Code Online (Sandbox Code Playgroud)
我的应用程序以带有几个按钮的UIViewController开始,每个按钮打开相应部分的tableview(这些都工作正常,我试图提供足够的信息,以便我的问题有意义).我调用一个帮助方法来创建/打开UIManagedDocument的URL,该URL基于这个问题.一旦应用程序运行,就会调用它,并且它会快速加载.
我有一个非常类似于Paul的fetchFlickrDataIntoDocument的方法:
-(void)refreshBusinessesInDocument:(UIManagedDocument *)document
{
dispatch_queue_t refreshBusinessQ = dispatch_queue_create("Refresh Business Listing", NULL);
dispatch_async(refreshBusinessQ, ^{
// Get latest business listing
myFunctions *myFunctions = [[myFunctions alloc] init];
NSArray *businesses = [myFunctions arrayOfBusinesses];
// Run IN document's thread
[document.managedObjectContext performBlock:^{
// Loop through new businesses and insert
for (NSDictionary *businessData in businesses) {
[Business businessWithJSONInfo:businessData inManageObjectContext:document.managedObjectContext]; …Run Code Online (Sandbox Code Playgroud) 我有一个小 Lua 脚本要在 Redis 中运行,我对获取执行时间感兴趣。
由于 Redis 的性质及其 Lua 实现,我无法在脚本的开始/返回点使用 TIME 函数,并将此信息包含在返回中进行处理(请参阅http://redis.io/commands/eval -作为纯函数的脚本)。这会导致错误:(error) ERR Error running script (call to f_a49ed2fea72f1f529843d6024d1515e76e69bcbd): Write commands not allowed after non deterministic commands
我已经搜索了可以执行的函数/调用,该函数/调用将返回上次运行脚本的执行时间,但尚未找到任何内容。
我正在使用 PHP 和 Predis 库。虽然我可以从 PHP 端检查执行时间,但我希望消除传输开销并找出 Lua 脚本将阻止对数据库的访问多长时间。如果我不需要更改 Redis 中存储的任何数据,我已经成功返回了时间,这些时间大约是 PHP 报告时间的 1/10。
如何确定 Redis 中 Lua 脚本的执行时间,而不是通过 PHP?