有没有办法将Redis配置为对Keys不区分大小写?

时间:2011-07-15 16:12:41

标签: redis

例如:

Foo : Bar

也可以被视为FOO,foo,fOO等?

3 个答案:

答案 0 :(得分:17)

没有。如果需要,您应该小写/大写所有键。

答案 1 :(得分:2)

redis键区分大小写,我的解决方案是: 关键 - >富:酒吧 关键字 - >˚F

键( “[FF] *”) 要么 关键字 - >富

键( “[FF] [OO] [OO] *”) 你必须将普通字符串转换为这种格式'[Ff] [Oo]';

我为此写了一个方法:

public static String toIgnoreCasePattern(String str){
    StringBuilder sb = new StringBuilder();
    char []chars = str.toCharArray();
    char upperCaseC;
    for(char c : chars){
        boolean isLowerCase = Character.isLowerCase(c);
        upperCaseC = isLowerCase ? Character.toUpperCase(c) : c;
        sb.append("[").append(c).append(upperCaseC).append("]");
    }
    return sb.toString();
}

我希望这个答案可以帮到你。

答案 2 :(得分:1)

在C#中

public static String toIgnoreCasePattern(String str)
{
    StringBuilder sb = new StringBuilder();
    char[] chars = str.ToCharArray();
    char upperCaseC;
    foreach (var c in chars)
    {
        bool isLowerCase = char.IsLower(c);
        upperCaseC = isLowerCase ? char.ToUpper(c) : c;
        sb.Append("[").Append(c).Append(upperCaseC).Append("]");
    }
    return sb.ToString();
}