java 使用 jedis 操作redis 不能添加对象。也就是一条数据、

Hrong123 发布于 2015/03/24 12:10
阅读 1K+
收藏 0
redis> HMSET pet dog "doudou" cat "nounou"    # 一次设置多个域
OK

redis> HMGET pet dog cat fake_pet             # 返回值的顺序和传入参数的顺序一样
1) "doudou"
2) "nounou"
3) (nil)

上面的语法 ,只能添加  一个  dog “doudou”

 但是我现在需要添加  dog  1、  “doudou”、 zs 90 

这是一整条数据,是一个对象。。

加载中
0
Sailor_os
Sailor_os

dog对应的value只能存放string,不能存放对象

不过可以把整条数据转换成json格式,存入dog对应的value中即可

0
方武卓
方武卓

redis是基于key-value设计的,不能直接映射到你的业务逻辑中的数据结构,可以有多种设计方式来实现你要的功能:

1)将整个数据转成一个byte数组或string,这一类的有很多种方法,比如protocBuf、thift、json等等。这样的好处是一存一取都是整个数据。

2)将整个dog数据变成一个hashmap,然后HMSET dog count 1 name doudou zs 90。但是看你贴的那部分代码,似乎还需要知道有哪些pet,那可以在sadd pet dog。

3)更简单粗暴的方法就是用足够的信息构造属性的key,比如set pet-dog-name doudou, set pet-dog-zs 90

0
零下三度
零下三度
将对象序列化了。就可以存进去了,你可以使用MessagePack或者protobuf
返回顶部
顶部