给定代码的输出是什么?
绝地武士能在数据库中保存两个不同类型但同名的数据集吗?
如果没有,在印刷线上,j.get会得到什么回报?J.SET被投进J.HSET了吗?
我是新来的redis数据库
public static void main(String[] args) {
Jedis j = new Jedis("slc09sro");
try {
j.set("alex1", "1");
}
catch (Exception e){}
try {
j.set("alex1", "2");
}
catch (Exception e){}
try {
j.hset("alex1", "3", "4");
}
catch (Exception e){}
System.out.println(j.get("alex1"));
j.close;
}
最佳答案
您的示例在尝试使用hset
方法时将失败。不需要Java的简单示例:
$ redis-cli
127.0.0.1:6379> set alex1 1
OK
127.0.0.1:6379> set alex1 2
OK
127.0.0.1:6379> hset alex1 3 4
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> get alex1
"2"
127.0.0.1:6379>
这是因为键
alex1
包含一个字符串值,而不是散列值。在失败的HSET
调用之后,键与上次的SET
调用保持不变,因此包含字符串值"2"
。参见Redis command reference:
SET
HSET