项目对比数据,需要根据redis中和数据库中的数据进行操作redis缓存,简单记录一下处理逻辑。
public static void main(String[] args) {
List<String> redisList = new ArrayList<>();
List<String> dbData = new ArrayList<>(); //dbData 代表数据库数据
redisList.add("啊");
redisList.add("欢");
redisList.add("迎");
redisList.add("您");
dbData.add("北");
dbData.add("京");
dbData.add("人");
dbData.add("民");
dbData.add("啊");
dbData.add("欢");
//并集
// getBingJi(redisList, dbData);
//交集
// getJiaoJi(redisList, dbData);
//差集
//dbData中没有
// getDBData(redisList, dbData);
//redisList中没有
getRedisData(redisList,dbData);
}
private static void getRedisData(List<String> redisList, List<String> dbData) {
dbData.removeAll(redisList);
System.out.println("redis没有的数据:" + dbData); // redisList中没有 [北, 京, 人, 民] redis添加
}
private static void getDBData(List<String> redisList, List<String> dbData) {
redisList.removeAll(dbData);
System.out.println("dbData没有的数据:" + redisList); // dbData中没有 [迎, 您] redis删除
}
private static void getJiaoJi(List<String> redisList, List<String> dbData) {
redisList.retainAll(dbData);
System.out.println("交集:" + redisList);//[啊, 欢] redis更新
}
private static void getBingJi(List<String> redisList, List<String> dbData) {
redisList.addAll(dbData);
System.out.println("并集:" + redisList); // 并集:[啊, 欢, 迎, 您, 北, 京, 人, 民, 啊, 欢]
}