Redis怎么存储List对象比较好?
有一个场景,想使用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会过多。
求大神帮忙解答!