日期:2014-05-17  浏览次数:20795 次

java map数据存入内存中,用于判断key是否存在,便于处理下面的问题。
现在有这样一个问题,web项目中不同的用户登录进行同一个操作时,为了避免一个用户进行重复性提交一个操作,需要将每个用户的唯一标识先存在内存中。我现在想的是弄一个全局变量map,存储用户的唯一标识,然后每来一次请求,我就判断这个标识在map中有没有,如果有的话,就返回false,否则进行下面的操作,操作完成之后把这个标识从map中去除。知道java不能直接操作内存,不知道这样的思路可行不,map中的数据会不会由于不同用户的请求而被覆盖掉?
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

可行。只要 key 不一样就不会被覆盖掉。但是你还得自己去维护这个 map、维护在线用户。
在线用户还需要维护吗,还有map,都怎么个维护法?能说的清晰完整点吗
在线用户不维护,那你这个 map 岂不越来越大?
一个操作执行过程中存在map中,操作结束后接着把map中的标识remove掉不就行吗
可以。但是同一个用户,没有离线,下次再来操作你又要添加一遍?
------解决方案--------------------
思路可行,对map的维护需要多加考虑
------解决方案--------------------
如果说用map,还是用hashmap更好一点。虽然重量级,但存储用户信息更加安全