我能要一个集合和一个同名的hset吗?

h79rfbju  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(331)

给定代码的输出是什么?绝地武士能在数据库中保存两个不同类型但名称相同的数据集吗?如果没有,在印刷线上,j.会得到什么回报?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;
}
zc0qhyus

zc0qhyus1#

你的例子在尝试使用 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命令参考:
设置
hset公司

相关问题