Redisキャッシュピクチャ
8848 ワード
キャッシュのデータフォーマットはHashハッシュで、実はあれを保存してもいいで、保存するのはすべて文字列で、k/vを使うのがよくないと感じて、もしキャッシュが多すぎるホットスポットのデータが多くkを定義するならば、雑然としています.Reids依存
ホスト番号とredisデフォルトポート番号の構成
まずredisに行って照会して、redisはデータベースに行って照会していないで、照会したデータはデータベースの中で保存して、2回目は調べてredisの中で照会します
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
ホスト番号とredisデフォルトポート番号の構成
spring.redis.host=192.168.150.151
spring.redis.port=6379
まずredisに行って照会して、redisはデータベースに行って照会していないで、照会したデータはデータベースの中で保存して、2回目は調べてredisの中で照会します
@Autowired
RedisTemplate redisTemplate;
public List<AdItem> getAdsByCid(Long id){
List<AdItem> list2 = null;
HashOperations hash = redisTemplate.opsForHash(); //
list2 = (List<AdItem>)hash.get("ads", "big_ad");
if (list2 !=null && list2.size()>0){
System.out.println("----------redis----------");
return list2;
}
List<TbContent> list = tbContentMapper.getAllContentByPage(id,null,null);
System.out.println(">>>>>>>>>>>db>>>>>>>>>>>>>>");
List<AdItem> result = new ArrayList<>(list.size());
for (TbContent tbContent : list) {
AdItem adItem = new AdItem(); //
adItem.setSrc(tbContent.getPic());
adItem.setHeight(240);
adItem.setWidth(670);
adItem.setSrcB(tbContent.getPic2());
adItem.setHeightB(240);
adItem.setWidthB(550);
adItem.setAlt(tbContent.getTitleDesc());
adItem.setHref(tbContent.getUrl());
result.add(adItem);
}
hash.put("ads", "big_ad", result);// put Redis
return result;
}