redis :jedisTemplate中的Zset 存储

来源:互联网 发布:c 语言英文怎么说 编辑:程序博客网 时间:2024/06/06 09:06

判断如果key不存在,那么就从数据库中获取所有的每日主题,如果获取的每日主题列表不为空,就把他们通过创建一个ZSetOperations.TypeTuple<String>对象,遍历每日主题列表,为ZSetOperations.TypeTuple<String>对象赋值,然后再把这个对象放到新创建的Set<ZSetOperations.TypeTuple<String>>中,当然要了解ZSet性质,它里边的key是不可以重复的,重复会被覆盖,每个值都有一个score,score为double类型,如此循环,直到遍历完整个每日主题列表为止。

if(!jedisTemplate.hasKey(KeyUtils.dailyThemeZset())){
List<DailyTheme> dailyThemes = dailyThemeMapper.getAllDailyTheme();
if (CollectionUtils.isNotEmpty(dailyThemes)) {
Set<ZSetOperations.TypedTuple<String>> dailyThemeTypedTupleSet =newHashSet<ZSetOperations.TypedTuple<String>>();
ZSetOperations.TypedTuple<String> dailyThemeTypedTuple;
for (DailyTheme dailyTheme : dailyThemes) {
dailyThemeTypedTuple = new DefaultTypedTuple<String>(dailyTheme.getPkg() + "", (double)dailyTheme.getOnlineTime().getTime());
dailyThemeTypedTupleSet.add(dailyThemeTypedTuple);
}
saveDailyThemesToZset(dailyThemeTypedTupleSet);
}

在你存储一些数据之前,你要确定好你要使用什么样的数据结构进行存储,不同的数据结构有不同的特点。



0 0