在项目中需要用到cookie做缓存,记录用户的观看记录,每条记录为实体的一个对象,想到了不同的方法:
方法一:直接保存每个对象的数据,每个cookie的name对应一个对象的json,有多条记录就需要记录多个cookie。但是这个方法有很大的弊端,观看记录比较多,那么就需要创建太多的cookie,一方面在统计有多少条记录时需要在获取cookie的name之后再对name进行分割判断是不是观看记录,这样很不方便,另一方面,如果对观看记录的条数做限制,比如只记录15条记录,再多加一条记录时就需要将第一条记录删除,在多个cookie的情况下,统计条数难,删除记录也难
方法二:对所有的记录保存到list集合上,然后再保存list对象。该方法只需要创建一个cookie即可,做统计时可以使用list的size方法,删除时可以使用list的remove方法
因为cookie不能直接保存对象,只能保存字符串,所以需要将对象转为json
上代码:
ObjectMapper objectMapper = new ObjectMapper();
String strObject