亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

使用Leopard Cache

2019-11-14 22:55:34
字體:
來源:轉載
供稿:網友
使用Leopard Cache使用Leopard Cache學習如何使用Leopard Cache。

本指南將引導您使用Leopard Cache操作緩存。

How to complete this guide

你可以從頭開始并完成每一個步驟,或者您可以繞過你已經熟悉的基本設置步驟。無論哪種方式,你最終都可以得到可工作的代碼。

1、配置maven依賴

在dao模塊的pom.xml加入

    <dependencies>        [...]        <dependency>            <groupId>io.leopard</groupId>            <artifactId>leopard-data</artifactId>            <version>0.0.1-SNAPSHOT</version>        </dependency>        [...]    </dependencies>    <repositories>        <repository>            <id>leopard-snapshots</id>            <name>Leopard Snapshots</name>            <url>http://leopard.io/nexus/content/repositories/snapshots/</url>        </repository>    </repositories>
2、配置sPRing

src/main/resources/applicationContext-dao.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:leopard="http://www.leopard.io/schema/leopard"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.leopard.io/schema/leopard http://www.leopard.io/schema/leopard.xsd"><leopard:component-scan base-package="io.leopard.guides" /><leopard:jdbc id="jdbc" host="112.126.75.27" database="example" user="example" passWord="leopard" /><leopard:redis id="redis" server="112.126.75.27:6311" /></beans>
3、創建UserDao接口,用到緩存必須實現IGet接口.

此處為了展現更多接口直接實現了IDelete接口

創建src/main/java/io/leopard/guides/dao/UserDao.java

package io.leopard.guides.dao;import io.leopard.data4j.cache.api.uid.IDelete;import io.leopard.guides.model.User;import java.util.Date;public interface UserDao extends IDelete<User, Long> {@Overridepublic boolean add(User user);@OverrideUser get(Long uid);@Overrideboolean delete(Long uid, long opuid, Date lmodify);}
4、創建UserDao接口MySQL實現

創建src/main/java/io/leopard/guides/dao/mysql/UserDaoMysqlImpl.java

package io.leopard.guides.dao.mysql;import io.leopard.data4j.jdbc.Jdbc;import io.leopard.data4j.jdbc.builder.InsertBuilder;import io.leopard.guides.dao.UserDao;import io.leopard.guides.model.User;import java.util.Date;import javax.annotation.Resource;import org.springframework.stereotype.Repository;@Repositorypublic class UserDaoMysqlImpl implements UserDao {@Resourceprivate Jdbc jdbc;@Overridepublic boolean add(User user) {InsertBuilder builder = new InsertBuilder("user");builder.setLong("uid", user.getUid());builder.setString("nickname", user.getNickname());builder.setDate("posttime", user.getPosttime());return this.jdbc.insertForBoolean(builder);}@Overridepublic User get(Long uid) {String sql = "select * from user where uid=?;";return jdbc.query(sql, User.class, uid);}@Overridepublic boolean delete(Long uid, long opuid, Date lmodify) {String sql = "delete from user where uid=?;";return jdbc.updateForBoolean(sql, uid);}}
5、創建UserDao接口Redis實現

創建src/main/java/io/leopard/guides/dao/redis/UserDaoRedisImpl.java

package io.leopard.guides.dao.redis;import io.leopard.burrow.lang.Json;import io.leopard.burrow.util.NumberUtil;import io.leopard.data4j.redis.Redis;import io.leopard.guides.dao.UserDao;import io.leopard.guides.model.User;import java.util.Date;import javax.annotation.Resource;import org.springframework.stereotype.Repository;@Repositorypublic class UserDaoRedisImpl implements UserDao {@Resourceprivate Redis redis;@Overridepublic boolean add(User user) {String key = this.getKey(user.getUid());redis.set(key, Json.toJson(user));return true;}@Overridepublic User get(Long uid) {String key = this.getKey(uid);String json = redis.get(key);return Json.toObject(json, User.class);}@Overridepublic boolean delete(Long uid, long opuid, Date lmodify) {String key = this.getKey(uid);Long result = redis.del(key);return NumberUtil.toBool(result);}protected String getKey(long uid) {return "user:" + uid;}}
6、創建UserDao接口Cache實現

創建src/main/java/io/leopard/guides/dao/cache/UserDaoCacheImpl.java

package io.leopard.guides.dao.cache;import io.leopard.data4j.cache.CacheLoader;import io.leopard.guides.dao.UserDao;import io.leopard.guides.model.User;import java.util.Date;import javax.annotation.Resource;import org.springframework.stereotype.Repository;@Repositorypublic class UserDaoCacheImpl implements UserDao {@Resourceprivate UserDao userDaoMysqlImpl;@Resourceprivate UserDao userDaoRedisImpl;@Overridepublic boolean add(User user) {return userDaoMysqlImpl.add(user);}@Overridepublic User get(Long uid) {// 先到userDaoRedisImpl.get方法查,有數據直接返回// 如果redis實現沒有數據,就到userDaoMysqlImpl.get方法查詢數據。如果有數據將數據傳給userDaoRedisImpl.add方法保存并返回。如果mysql實現也沒有數據則返回null.return CacheLoader.get(userDaoRedisImpl, userDaoMysqlImpl, uid);}@Overridepublic boolean delete(Long uid, long opuid, Date lmodify) {userDaoRedisImpl.delete(uid, opuid, lmodify);return this.userDaoMysqlImpl.delete(uid, opuid, lmodify);}}
7、在UserService使用UserDao接口

創建src/main/java/io/leopard/guides/service/UserService.java

package io.leopard.guides.service;import io.leopard.guides.dao.UserDao;import io.leopard.guides.model.User;import java.util.Date;import javax.annotation.Resource;import org.springframework.stereotype.Service;@Servicepublic class UserService {@Resource// 當有xxxDaoCacheImpl存在時,Leopard自動為它增加了@Primary注解// 這里會自動注入userDaoCacheImpl.private UserDao userDao;public boolean add(User user) {return this.userDao.add(user);}public User get(long uid) {return this.userDao.get(uid);}public boolean delete(long uid) {return this.userDao.delete(uid, 0, new Date());}}
8、編寫UserService測試代碼

創建src/test/java/io/leopard/guides/service/UserServiceTest.java

package io.leopard.guides.service;import io.leopard.guides.model.User;import io.leopard.test.IntegrationTests;import java.util.Date;import org.junit.Assert;import org.junit.Test;import org.springframework.beans.factory.annotation.Autowired;public class UserServiceTest extends IntegrationTests {@Autowiredprivate UserService userService;@Testpublic void get() {this.userService.delete(1);// 先刪除記錄{User user = new User();user.setUid(1);user.setNickname("Leopard");user.setPosttime(new Date());userService.add(user);}{User user = userService.get(1);Assert.assertNotNull(user);Assert.assertEquals("Leopard", user.getNickname());}}}
總結

恭喜你!您已經可以配置使用Leopard Cache,雖然功能比較簡單,你可以在這個基礎上擴展出你的業務系統,祝您好運。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品一区久久| 黑人狂躁日本妞一区二区三区| 久久亚洲国产精品| 亚洲黄色av女优在线观看| 6080yy精品一区二区三区| 国内精品400部情侣激情| 精品国产91久久久久久| 亚洲视频欧洲视频| 亚洲黄页视频免费观看| 国产在线精品成人一区二区三区| 91精品国产91久久久久久不卡| 国产精品av网站| 三级精品视频久久久久| 日韩国产欧美精品在线| 亚洲综合一区二区不卡| 日本久久精品视频| 国产精品免费福利| 日韩高清欧美高清| 国产精品你懂得| 久久久久久国产三级电影| 亚洲国产成人精品电影| 久久视频精品在线| 国产亚洲精品一区二区| 欧美日韩亚洲精品内裤| 综合136福利视频在线| 欧美一级高清免费| 欧美日韩国产成人高清视频| 成人观看高清在线观看免费| 欧美极品少妇xxxxⅹ喷水| 久久久久久国产精品久久| 国内外成人免费激情在线视频网站| 欧美美女操人视频| 亚洲第一网站免费视频| 久久香蕉国产线看观看网| 久久影院模特热| 2018国产精品视频| 亚洲欧洲在线观看| 欧美巨猛xxxx猛交黑人97人| 久久久国产精品亚洲一区| 久久视频国产精品免费视频在线| 日韩精品中文在线观看| 亚洲精品白浆高清久久久久久| 57pao成人永久免费视频| 国产剧情久久久久久| 91精品久久久久久久久久另类| 日韩美女视频免费在线观看| 日韩在线观看网站| 亚洲欧美日韩一区二区三区在线| 国产精品福利在线观看| 国产精品久久久久久久久久小说| 欧美日韩国产区| 最新中文字幕亚洲| 久久久久久久网站| 久久av资源网站| 国产91色在线免费| 色综合伊人色综合网| 亚洲综合在线小说| 亚洲电影av在线| 色偷偷偷亚洲综合网另类| 伊人久久综合97精品| 欧美激情视频一区二区| 色视频www在线播放国产成人| 亚洲欧美精品一区| 成人免费视频在线观看超级碰| 91网站免费观看| 久久综合国产精品台湾中文娱乐网| 91成人在线观看国产| 中文字幕日韩免费视频| 国产suv精品一区二区| 亚洲欧美精品伊人久久| 亚洲精品二三区| 亚洲成人久久久| 91成人性视频| 日韩av在线看| 久久99亚洲精品| 亚洲性日韩精品一区二区| 国产精品高清免费在线观看| 青青草国产精品一区二区| 午夜精品久久久久久99热| 国产91成人video| 国产欧美一区二区三区在线看| 成人国内精品久久久久一区| 亚洲xxxx做受欧美| 久久色精品视频| 亚洲人成网7777777国产| 国产精品美女在线观看| 久久久噜噜噜久噜久久| 热久久视久久精品18亚洲精品| 国产精品国产三级国产专播精品人| 国产欧美精品一区二区三区介绍| 国产日韩一区在线| 日韩在线观看免费av| 4444欧美成人kkkk| 国产精品揄拍一区二区| 国产精品羞羞答答| 成人网中文字幕| 亚洲石原莉奈一区二区在线观看| 91国内在线视频| 亚洲午夜av久久乱码| 日韩国产欧美区| 97人洗澡人人免费公开视频碰碰碰| 日韩美女在线观看一区| 欧美中文字幕视频在线观看| 在线观看日韩av| 欧美精品亚州精品| 国产精品美女午夜av| 欧美午夜美女看片| 日韩欧美精品免费在线| 亚洲欧美日韩久久久久久| 国产999精品久久久| 欧美一级视频免费在线观看| 久久久久久亚洲精品不卡| 久久久久久国产精品久久| 精品美女永久免费视频| 91成人免费观看网站| 亚洲天堂成人在线| 欧美激情精品久久久久久免费印度| 久久艳片www.17c.com| 成人性生交xxxxx网站| 琪琪第一精品导航| 国产综合久久久久| 91精品视频免费观看| 亚洲性线免费观看视频成熟| 亚洲成年人影院在线| 欧美成人午夜视频| 亚洲美女av在线| 91欧美精品午夜性色福利在线| 日韩精品在线免费观看视频| 国产午夜精品久久久| 日韩精品视频在线播放| 久久久久久久网站| 亚洲天堂免费视频| 九九视频直播综合网| 成人在线激情视频| 少妇高潮 亚洲精品| 亚洲精品电影网站| 欧美性视频精品| 国产精品www色诱视频| 亚洲va男人天堂| 草民午夜欧美限制a级福利片| 亚洲欧洲中文天堂| 色婷婷综合成人| 欧美高清不卡在线| 国产成人精品免高潮在线观看| 51视频国产精品一区二区| 久久综合九色九九| 91在线中文字幕| 亚洲美女av在线| 久久频这里精品99香蕉| 亚洲摸下面视频| 亚洲成人激情小说| 国产成人精品一区二区| 中文字幕一区日韩电影| 国产一区二区三区视频在线观看| 欧美激情2020午夜免费观看| 国产精品mp4| 成人xvideos免费视频| 色噜噜久久综合伊人一本| 91av在线精品| 精品国产成人av| 中文字幕一区二区三区电影| 欧美三级xxx| 亚洲精品在线观看www| 69久久夜色精品国产7777|