perf:升级Ip2Region
This commit is contained in:
@@ -3,12 +3,11 @@ package com.tiesheng.util.config;
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import cn.hutool.log.LogFactory;
|
||||
import com.tiesheng.util.ip2region.Searcher;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.RandomAccessFile;
|
||||
|
||||
/**
|
||||
* @author hao
|
||||
@@ -17,8 +16,8 @@ import java.io.RandomAccessFile;
|
||||
@ConfigurationProperties(prefix = "tiesheng.ip2region")
|
||||
public class Ip2regionConfig {
|
||||
|
||||
private String dbUrl = "http://git.kepai365.com/zeng_wenhao/kepai-repo/raw/master/ipdb/ip2region.db";
|
||||
private String dbPath = System.getProperty("user.dir") + "/runtime/ip2region/ip2region.db";
|
||||
private String dbUrl = "http://git.kepai365.com/zeng_wenhao/kepai-repo/raw/master/ipdb/ip2region.xdb";
|
||||
private String dbPath = System.getProperty("user.dir") + "/runtime/ip2region/ip2region.xdb";
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// 逻辑方法
|
||||
@@ -35,15 +34,20 @@ public class Ip2regionConfig {
|
||||
|
||||
|
||||
/**
|
||||
* 获取db文件
|
||||
* 搜索ip
|
||||
*
|
||||
* @param ip
|
||||
* @return
|
||||
*/
|
||||
public RandomAccessFile getDbAccessFile() throws FileNotFoundException {
|
||||
if (!FileUtil.exist(dbPath)) {
|
||||
downloadDbFile();
|
||||
public String search(String ip) {
|
||||
String region = "";
|
||||
try {
|
||||
Searcher searcher = Searcher.newWithFileOnly(dbPath);
|
||||
region = searcher.search(ip);
|
||||
searcher.close();
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
return new RandomAccessFile(dbPath, "r");
|
||||
return region;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user