Redis怎么存储List对象比较好?

syb513812 2017-04-08 09:58:37
有一个场景,想使用Redis用来存储每个员工的任务记录,一个员工有多条数据,每条任务数据对应一个任务bean。任务涉及插入,删除和修改状态操作。
已经设计为使用员工号作为key信息,怎么选择下面的缓存方案合适:
方案一:
直接使用List结构,List里面存储二进制的任务Bean信息,这样做查询全部任务很方便,查询单条任务速度较慢,并且删除和修改状态很麻烦;
方案二:
直接使用Hash结构,Hash的key存储任务ID,value存储二进制的Bean信息,这样做查询所有任务、查询单条任务以及删除任务都很快,但是修改状态也必须先取出数据再修改再插入;
方案三:
使用List存储ID,再用一个Map存储ID和Bean的关系;
好像不管哪种方式,都没有十分方便进行修改状态的,都涉及到反序列化和序列化操作,方案三的Map如果使用任务ID作为redis的key,然后任务属性和值作为map的key和value,就怕这样redis的key会过多。
求大神帮忙解答!
...全文
5168 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
li905663280 2017-04-08
  • 打赏
  • 举报
回复
用Hash 结构,其中的value存放单个任务的信息吧。如果修改麻烦的话,可以增加修改的时候,删除对应存在的任务id。
李德胜1995 2017-04-08
  • 打赏
  • 举报
回复
用Hash结构,key存储Id,value存储字段对应字段值。。。。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧