java 使用 jedis 操作redis 不能添加对象。也就是一条数据、
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
这是一整条数据,是一个对象。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
将对象序列化了。就可以存进去了,你可以使用MessagePack或者protobuf
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
dog对应的value只能存放string,不能存放对象
不过可以把整条数据转换成json格式,存入dog对应的value中即可