Reds键:使用`table:<id>:col1`或使用哈希?

时间:2015-11-14 04:48:26

标签: redis

将关系数据库转换为redis数据库时,我们应该使用

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 
{
    UITouch *touch = [[event allTouches] anyObject];
    CGPoint touchLocation = [touch locationInView:self.contentView];

    for (UIView *view in self.contentView.subviews)
    {
        if ([view isKindOfClass:[MyView class]] &&
            CGRectContainsPoint(view.frame, touchLocation))
        {

        }
    }
}

作为键或使用哈希代替,例如

TextView myTextView=(TextView)findViewById(R.id.textBox);
Typeface typeFace=Typeface.createFromAsset(getAssets(),"fonts/mytruetypefont.ttf");
myTextView.setTypeface(typeFace);

为什么?

1 个答案:

答案 0 :(得分:0)

你可能会以错误的方式思考这个问题。

在Redis中,您可以根据要获取数据的方式存储数据。首先考虑一下你的问题,然后决定“架构”。

在任何情况下,Hash方法通常用于将相关值组合在一起(如行中的列)以及减少每个键的开销。

根据OP提供的非常广泛的信息,如果我们假设<id>是行标识符,a.k.a是主键,那对我来说有意义的是:

HMSET table:<id> col1 <value1> col2 <value2> ...

但该结构无法确保有效获取任何数据,不包括SELECT/UPDATE/DELETE (somecolumn or *) from table WHERE id=<id>的等效数据。

那么,您的数据库必须提供哪些查询?