Java 从redis存储和检索对象?

Java 从redis存储和检索对象?,java,redis,jedis,Java,Redis,Jedis,我有几个有id和名字的山上物体 我是这样储存这些东西的 HMSET Mountain:1 id "1" name "Mo1" HMSET Mountain:2 id "2" name "Mo2" HMSET Mountain:3 id "3" name "Mo2" 如何获取所有山体对象?或者有没有更好的方法在redis中存储对象?您应该使用2命令: KEYS Mountain:* HGETALL <everykeys> 并得到它: SMEMBERS Mountain HGETAL

我有几个有id和名字的山上物体

我是这样储存这些东西的

HMSET Mountain:1 id "1" name "Mo1"
HMSET Mountain:2 id "2" name "Mo2"
HMSET Mountain:3 id "3" name "Mo2"

如何获取所有山体对象?或者有没有更好的方法在redis中存储对象?

您应该使用2命令:

KEYS Mountain:*
HGETALL <everykeys>
并得到它:

SMEMBERS Mountain
HGETALL <everykeys>
您将获得id:

HGET Mountains:IdByName "Mo3"
对于非唯一性,请再次使用set

SADD Mountains:IdByName:Mo3 3
而且你会增加钥匙的数量,这就是为什么不推荐钥匙的原因,因为钥匙太贵了


下一步是使用lua脚本来设置hash from/和index

Ok。我理解这个概念。有没有办法得到Mountain的名字是“Mo2”?redis的数据类型比经典的key/value更复杂,但对于thid来说还不够。你必须创造你自己的。我回答说,这很有用
HGET Mountains:IdByName "Mo3"
SADD Mountains:IdByName:Mo3 3