本文整理匯總了Java中com.jfinal.plugin.redis.Redis類的典型用法代碼示例。如果您正苦於以下問題:Java Redis類的具體用法?Java Redis怎麽用?Java Redis使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
Redis類屬於com.jfinal.plugin.redis包,在下文中一共展示了Redis類的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: getToken
import com.jfinal.plugin.redis.Redis; //導入依賴的package包/類
/**
* 獲取微信訪問Token。
*
* @return 微信訪問Token字符串。
*
* @since 1.0.0
* @version 1.0.0
*/
public static String getToken() {
String accessToken = Redis.use().get(WEIXIN_ACCESS_TOKEN);
if (StringUtils.isBlank(accessToken)) {
String result = HttpUtils.get(GET_ACCESS_TOKEN_URL);
Map<Object, Object> resultMap = jsonMapper.fromJson(result, javaType);
Object accessTokenObj = resultMap.get(WEIXIN_ACCESS_TOKEN);
accessToken = String.valueOf(accessTokenObj);
if (StringUtils.isBlank(accessToken)) {
logger.error("獲取微信訪問Token失敗!微信服務器返回的數據為:{}", result);
return StringUtils.EMPTY;
}
// 緩存微信access_token,緩存時長為1小時
Redis.use().setex(WEIXIN_ACCESS_TOKEN, 3600, accessToken);
}
return accessToken;
}
示例2: handle
import com.jfinal.plugin.redis.Redis; //導入依賴的package包/類
protected void handle(ApiConfig apiConfig, ApiMethod apiMethod){
Map<String,String> querys=new HashMap<>();
if(proceedQueries(querys,apiMethod.getUrlParams())){
return;
}
Map<String,String> headers=new HashMap<>();
if(proceedHeaders(headers,apiMethod.getHeaderParams())){
return;
}
AliRequest aliRequest=new AliRequest(apiConfig.getHost(),apiConfig.getBasePath()+"/"+apiMethod.getName(),
apiConfig.getAppKey(),apiConfig.getAppSecret(),querys,headers);
String cacheKey=aliRequest.getUrl();
System.out.println(cacheKey);
Cache redis= Redis.use();
String result=redis.get(cacheKey);
if(result!=null){
renderJson(new String(result));
return;
}
try {
HttpResponse response=HttpResponse.getResponse(aliRequest);
if(response.getStatus()== 200){
result=new String(response.getContent());
redis.setThreadLocalJedis(redis.getJedis());
redis.set(cacheKey,result);
redis.expire(cacheKey,apiMethod.getCacheExpireTime()*60);
redis.removeThreadLocalJedis();
renderJson(result);
}else {
renderJson(new BaseResponse(response.getStatus(),response.getHeaderValue(SystemHeader.X_Ca_Error_Message)));
}
} catch (IOException e) {
renderJson(new BaseResponse(e.getMessage()));
e.printStackTrace();
}
}
示例3: getJsApiTicket
import com.jfinal.plugin.redis.Redis; //導入依賴的package包/類
/**
* 獲取調用微信JS接口的臨時票據。
*
* @return 調用微信JS接口的臨時票據。
*
* @since 1.0.0
* @version 1.0.0
*/
public static String getJsApiTicket() {
String ticket = Redis.use().get(WEIXIN_JS_API_TICKET);
if (StringUtils.isBlank(ticket)) {
String accessToken = getToken();
if (StringUtils.isBlank(accessToken)) {
logger.error("獲取微信訪問Token失敗!");
return StringUtils.EMPTY;
}
String url = String.format("https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=%s&type=jsapi", accessToken);
String result = HttpUtils.get(url);
Map<Object, Object> resultMap = jsonMapper.fromJson(result, javaType);
Object ticketObj = resultMap.get(WEIXIN_JS_API_TICKET);
ticket = String.valueOf(ticketObj);
if (StringUtils.isBlank(ticket)) {
logger.error("獲取微信js api ticket失敗!微信服務器返回的數據為:{}", result);
return StringUtils.EMPTY;
}
// 緩存微信js api ticket,緩存時長為1小時
Redis.use().setex(WEIXIN_JS_API_TICKET, 3600, ticket);
}
return ticket;
}
示例4: RedisAccessTokenCache
import com.jfinal.plugin.redis.Redis; //導入依賴的package包/類
public RedisAccessTokenCache() {
this.cache = Redis.use();
}