? 首先羹应,推薦一個免費的云服務器提供商园匹,三豐云劫灶,有了云服務器,我們使用ssh連接linux系統(tǒng)的云服務器供汛。
前篇文章介紹了redis的安裝,這里介紹一個微型項目雀久,以供初學者深入理解nosql與sql朱监,即關系型數(shù)據(jù)庫與非關系型數(shù)據(jù)庫各自的存在價值。
?
文末附上github倉庫地址巡蘸。
首先列出整個項目的文件結構:項目用到了擂送,tomcat,mysql嘹吨,redis。
項目的第一步:創(chuàng)建項目
第二步,JDBC工具類问芬,連接數(shù)據(jù)庫,編寫相應的函數(shù)强戴;
第三步挡鞍,寫servlet函數(shù):
publicclassProvinceServieImplimplementsProvinceService{?// 聲明dao:privateProvinceDao dao =newProvinceDaoImpl();??@OverridepublicListfindALL(){returndao.findALL();? ? }??// 使用redis緩存:@OverridepublicStringfindAllJson(){// 先從redis中查詢數(shù)據(jù):? ? ? ? Jedis jedis = JedisPoolUtils.getJedis();String province_json = jedis.get("province");??//2判斷 province_json 數(shù)據(jù)是否為nullif(province_json ==null|| province_json.length() ==0){//redis中沒有數(shù)據(jù)System.out.println("redis中沒數(shù)據(jù),查詢數(shù)據(jù)庫...");//2.1從數(shù)據(jù)中查詢? ? ? ? ? ? List<Province> ps = dao.findALL();//2.2將list序列化為jsonObjectMapper mapper =newObjectMapper();try{? ? ? ? ? ? ? ? province_json = mapper.writeValueAsString(ps);}catch(JsonProcessingException e) {? ? ? ? ? ? ? ? e.printStackTrace();? ? ? ? ? ? }?//2.3 將json數(shù)據(jù)存入redisjedis.set("province",province_json);//歸還連接? ? ? ? ? ? jedis.close();?}else{System.out.println("redis中有數(shù)據(jù)道媚,查詢緩存...");? ? ? ? }??returnprovince_json;?? ? }}?
最后最域,寫html,實現(xiàn)前端功能:
publicclassProvinceServieImplimplementsProvinceService{?// 聲明dao:privateProvinceDao dao =newProvinceDaoImpl();??@OverridepublicListfindALL(){returndao.findALL();? ? }??// 使用redis緩存:@OverridepublicStringfindAllJson(){// 先從redis中查詢數(shù)據(jù):? ? ? ? Jedis jedis = JedisPoolUtils.getJedis();String province_json = jedis.get("province");??//2判斷 province_json 數(shù)據(jù)是否為nullif(province_json ==null|| province_json.length() ==0){//redis中沒有數(shù)據(jù)System.out.println("redis中沒數(shù)據(jù),查詢數(shù)據(jù)庫...");//2.1從數(shù)據(jù)中查詢? ? ? ? ? ? List<Province> ps = dao.findALL();//2.2將list序列化為jsonObjectMapper mapper =newObjectMapper();try{? ? ? ? ? ? ? ? province_json = mapper.writeValueAsString(ps);}catch(JsonProcessingException e) {? ? ? ? ? ? ? ? e.printStackTrace();? ? ? ? ? ? }?//2.3 將json數(shù)據(jù)存入redisjedis.set("province",province_json);//歸還連接? ? ? ? ? ? jedis.close();?}else{System.out.println("redis中有數(shù)據(jù)掐隐,查詢緩存...");? ? ? ? }??returnprovince_json;?? ? }}
喜歡的可以git star 一個呀。https://github.com/Jesselinux/Java_Web
完結匿刮。