|
@@ -11,52 +11,65 @@ import java.util.*;
|
|
|
@Component
|
|
@Component
|
|
|
public class RedisClient {
|
|
public class RedisClient {
|
|
|
|
|
|
|
|
|
|
+ // Redis 添加字符串的 URL
|
|
|
public final static String url_str_add = "/redis/string/add/";
|
|
public final static String url_str_add = "/redis/string/add/";
|
|
|
|
|
|
|
|
|
|
+ // Redis 获取字符串的 URL
|
|
|
public final static String url_str_get = "/redis/string/get/";
|
|
public final static String url_str_get = "/redis/string/get/";
|
|
|
|
|
|
|
|
|
|
+ // Redis 删除字符串的 URL
|
|
|
public final static String url_str_del = "/redis/string/delete";
|
|
public final static String url_str_del = "/redis/string/delete";
|
|
|
|
|
|
|
|
|
|
+ // Redis 哈希表扫描的 URL
|
|
|
public final static String url_hash_hscan = "/redis/hash/hscan";
|
|
public final static String url_hash_hscan = "/redis/hash/hscan";
|
|
|
|
|
|
|
|
|
|
+ // Redis 哈希表添加的 URL
|
|
|
public final static String url_hash_add = "/redis/hash/add";
|
|
public final static String url_hash_add = "/redis/hash/add";
|
|
|
|
|
|
|
|
|
|
+ // Redis 获取集合所有元素的 URL
|
|
|
public final static String url_set_getall = "/redis/set/getall";
|
|
public final static String url_set_getall = "/redis/set/getall";
|
|
|
|
|
|
|
|
|
|
+ // Redis 添加集合元素的 URL
|
|
|
public final static String url_set_add = "/redis/set/add";
|
|
public final static String url_set_add = "/redis/set/add";
|
|
|
|
|
|
|
|
|
|
+ // 场景系统代码
|
|
|
public final static String scene_sys_code = "scene";
|
|
public final static String scene_sys_code = "scene";
|
|
|
|
|
|
|
|
|
|
+ // 结果状态键
|
|
|
public final static String result_status_key = "status";
|
|
public final static String result_status_key = "status";
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+ // Redis 主机地址
|
|
|
@Value("${redis.host}")
|
|
@Value("${redis.host}")
|
|
|
private String host;
|
|
private String host;
|
|
|
|
|
|
|
|
|
|
+ // 系统代码
|
|
|
@Value("${tieta.sysCode}")
|
|
@Value("${tieta.sysCode}")
|
|
|
private String sysCode;
|
|
private String sysCode;
|
|
|
|
|
|
|
|
|
|
+ // 服务器名称
|
|
|
@Value("${tieta.serverName}")
|
|
@Value("${tieta.serverName}")
|
|
|
private String serverName;
|
|
private String serverName;
|
|
|
|
|
|
|
|
|
|
+ // HTTP 客户端
|
|
|
@Resource
|
|
@Resource
|
|
|
private HttpClient httpClient;
|
|
private HttpClient httpClient;
|
|
|
|
|
|
|
|
|
|
+ // 添加字符串到 Redis
|
|
|
|
|
+ public void add(String key, String value, Long time){
|
|
|
|
|
+ String url = host + url_str_add;
|
|
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
|
|
+ params.put("key", this.genKey(key));
|
|
|
|
|
+ params.put("value", value);
|
|
|
|
|
+ if(Objects.nonNull(time)){
|
|
|
|
|
+ params.put("time", time);
|
|
|
|
|
+ }
|
|
|
|
|
+ JSONObject jsonObject = httpClient.postJson(url, params);
|
|
|
|
|
+ if(Objects.isNull(jsonObject) || !"0".equals(jsonObject.getString(result_status_key))){
|
|
|
|
|
+ throw new RuntimeException("redis add string error");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- public void add(String key, String value, Long time){
|
|
|
|
|
- String url = host + url_str_add;
|
|
|
|
|
- Map<String, Object> params = new HashMap<>();
|
|
|
|
|
- params.put("key", this.genKey(key));
|
|
|
|
|
- params.put("value", value);
|
|
|
|
|
- if(Objects.nonNull(time)){
|
|
|
|
|
- params.put("time", time);
|
|
|
|
|
- }
|
|
|
|
|
- JSONObject jsonObject = httpClient.postJson(url, params);
|
|
|
|
|
- if(Objects.isNull(jsonObject) || !"0".equals(jsonObject.getString(result_status_key))){
|
|
|
|
|
- throw new RuntimeException("redis add string error");
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
|
|
+ // 从 Redis 获取字符串
|
|
|
public String get(String key){
|
|
public String get(String key){
|
|
|
String url = host + url_str_get;
|
|
String url = host + url_str_get;
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
Map<String, Object> params = new HashMap<>();
|
|
@@ -68,6 +81,7 @@ public class RedisClient {
|
|
|
return jsonObject.getString("data");
|
|
return jsonObject.getString("data");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 从 Redis 删除字符串
|
|
|
public String del(String key){
|
|
public String del(String key){
|
|
|
String url = host + url_str_del;
|
|
String url = host + url_str_del;
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
Map<String, Object> params = new HashMap<>();
|
|
@@ -79,6 +93,7 @@ public class RedisClient {
|
|
|
return jsonObject.getString("data");
|
|
return jsonObject.getString("data");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 从 Redis 获取哈希表
|
|
|
public Map<String, String> hmget(String serverName, String key){
|
|
public Map<String, String> hmget(String serverName, String key){
|
|
|
String url = host + url_hash_hscan;
|
|
String url = host + url_hash_hscan;
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
Map<String, Object> params = new HashMap<>();
|
|
@@ -86,7 +101,7 @@ public class RedisClient {
|
|
|
JSONObject jsonObject = httpClient.postJson(url, params);
|
|
JSONObject jsonObject = httpClient.postJson(url, params);
|
|
|
|
|
|
|
|
JSONObject data = jsonObject.getJSONObject("data");
|
|
JSONObject data = jsonObject.getJSONObject("data");
|
|
|
- // 转换为Map<String, String>
|
|
|
|
|
|
|
+ // 转换为 Map<String, String>
|
|
|
Map<String, String> map = new HashMap<>();
|
|
Map<String, String> map = new HashMap<>();
|
|
|
for (String k : data.keySet()) {
|
|
for (String k : data.keySet()) {
|
|
|
map.put(k, data.getString(k));
|
|
map.put(k, data.getString(k));
|
|
@@ -94,6 +109,7 @@ public class RedisClient {
|
|
|
return map;
|
|
return map;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 添加哈希表到 Redis
|
|
|
public void hmset(String serverName, String key, Map<String, String> values){
|
|
public void hmset(String serverName, String key, Map<String, String> values){
|
|
|
String url = host + url_hash_add;
|
|
String url = host + url_hash_add;
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
Map<String, Object> params = new HashMap<>();
|
|
@@ -102,6 +118,7 @@ public class RedisClient {
|
|
|
JSONObject jsonObject = httpClient.postJson(url, params);
|
|
JSONObject jsonObject = httpClient.postJson(url, params);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 从 Redis 获取集合
|
|
|
public Set<String> sGet(String serverName, String key){
|
|
public Set<String> sGet(String serverName, String key){
|
|
|
String url = host + url_set_getall;
|
|
String url = host + url_set_getall;
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
Map<String, Object> params = new HashMap<>();
|
|
@@ -111,23 +128,22 @@ public class RedisClient {
|
|
|
return new HashSet<>(data);
|
|
return new HashSet<>(data);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 添加集合到 Redis
|
|
|
public void sSet(String serverName, String key, Set<String> values){
|
|
public void sSet(String serverName, String key, Set<String> values){
|
|
|
String url = host + url_set_add;
|
|
String url = host + url_set_add;
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
Map<String, Object> params = new HashMap<>();
|
|
|
params.put("key", this.genKey(serverName, key));
|
|
params.put("key", this.genKey(serverName, key));
|
|
|
params.put("values", values);
|
|
params.put("values", values);
|
|
|
JSONObject jsonObject = httpClient.postJson(url, params);
|
|
JSONObject jsonObject = httpClient.postJson(url, params);
|
|
|
-// if(Objects.isNull(jsonObject) || !"0".equals(jsonObject.getString(result_status_key))){
|
|
|
|
|
-// throw new RuntimeException("redis add set error");
|
|
|
|
|
-// }
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 生成 Redis 键
|
|
|
private String genKey(String key){
|
|
private String genKey(String key){
|
|
|
- return sysCode + "_" + serverName + "_" + key;
|
|
|
|
|
|
|
+ return sysCode + "_" + serverName + "_" + key;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 生成 Redis 键
|
|
|
private String genKey(String serverName, String key){
|
|
private String genKey(String serverName, String key){
|
|
|
return sysCode + "_" + serverName + "_" + key;
|
|
return sysCode + "_" + serverName + "_" + key;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|