123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- package com.fdkankan.redis.util;
- import cn.hutool.core.collection.CollUtil;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.fdkankan.scene.httpclient.CustomHttpClient;
- import com.google.common.collect.Lists;
- import com.google.common.collect.Sets;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.stereotype.Component;
- import javax.annotation.Resource;
- import java.util.*;
- @Component
- public class RedisClient {
- public final static String url_str_add = "/redis/string/add/";
- public final static String url_str_get = "/redis/string/get/";
- public final static String url_set_add = "/redis/set/add";
- public final static String url_set_getall = "/redis/set/getall";
- public final static String url_set_srem = "/redis/set/srem";
- public final static String url_hash_hscan = "/redis/hash/hscan";
- public final static String url_hash_add = "/redis/hash/add";
- public final static String url_hash_hvals = "/redis/hash/hvals";
- public final static String url_hash_hdel = "/redis/hash/hdel";
- @Value("${redis.host}")
- private String host;
- @Value("${tieta.sysCode}")
- private String sysCode;
- @Value("${tieta.serverName}")
- private String serverName;
- @Resource
- private CustomHttpClient customHttpClient;
- public void add(String key, String value){
- String url = host + url_str_add;
- Map<String, Object> params = new HashMap<>();
- params.put("key", this.genKey(key));
- params.put("value", value);
- JSONObject jsonObject = customHttpClient.postJson(url, params);
- if(Objects.isNull(jsonObject) || !"0".equals(jsonObject.getString("status"))){
- throw new RuntimeException("redis add string error");
- }
- }
- public String get(String key){
- String url = host + url_str_get;
- Map<String, Object> params = new HashMap<>();
- params.put("key", this.genKey(key));
- JSONObject jsonObject = customHttpClient.postJson(url, params);
- if(Objects.isNull(jsonObject) || !"0".equals(jsonObject.getString("status"))){
- throw new RuntimeException("redis get string error");
- }
- return jsonObject.getString("data");
- }
- public void sSet(String key, Set<String> values){
- String url = host + url_set_add;
- Map<String, Object> params = new HashMap<>();
- params.put("key", this.genKey(key));
- params.put("values", JSON.toJSONString(values));
- JSONObject jsonObject = customHttpClient.postJson(url, params);
- if(Objects.isNull(jsonObject) || !"0".equals(jsonObject.getString("status"))){
- throw new RuntimeException("redis add set error");
- }
- }
- public Set<String> sGet(String key){
- String url = host + url_set_getall;
- Map<String, Object> params = new HashMap<>();
- params.put("key", this.genKey(key));
- JSONObject jsonObject = customHttpClient.postJson(url, params);
- if(Objects.isNull(jsonObject) || !"0".equals(jsonObject.getString("status"))){
- throw new RuntimeException("redis set getall error");
- }
- List<String> data = jsonObject.getJSONArray("data").toJavaList(String.class);
- return new HashSet<>(data);
- }
- public void setRemove(String key, Set<String> values){
- String url = host + url_set_srem;
- Map<String, Object> params = new HashMap<>();
- params.put("key", this.genKey(key));
- params.put("values", values);
- JSONObject jsonObject = customHttpClient.postJson(url, params);
- if(Objects.isNull(jsonObject) || !"0".equals(jsonObject.getString("status"))){
- throw new RuntimeException("redis set srem error");
- }
- }
- public void hmset(String key, Map<String, String> values){
- String url = host + url_hash_add;
- Map<String, Object> params = new HashMap<>();
- params.put("key", this.genKey(key));
- params.put("values", values);
- JSONObject jsonObject = customHttpClient.postJson(url, params);
- if(Objects.isNull(jsonObject) || !"0".equals(jsonObject.getString("status"))){
- throw new RuntimeException("redis hash add error");
- }
- }
- public Map<String, String> hmget(String key){
- String url = host + url_hash_hscan;
- Map<String, Object> params = new HashMap<>();
- params.put("key", this.genKey(key));
- JSONObject jsonObject = customHttpClient.postJson(url, params);
- if(Objects.isNull(jsonObject) || !"0".equals(jsonObject.getString("status"))){
- throw new RuntimeException("redis hash hscan error");
- }
- JSONObject data = jsonObject.getJSONObject("data");
- // 转换为Map<String, String>
- Map<String, String> map = new HashMap<>();
- for (String k : data.keySet()) {
- map.put(key, jsonObject.getString(key));
- }
- return map;
- }
- public List<String> hMultiGet(String key){
- String url = host + url_hash_hvals;
- Map<String, Object> params = new HashMap<>();
- params.put("key", this.genKey(key));
- JSONObject jsonObject = customHttpClient.postJson(url, params);
- if(Objects.isNull(jsonObject) || !"0".equals(jsonObject.getString("status"))){
- throw new RuntimeException("redis hash get hvals error");
- }
- List<String> data = jsonObject.getJSONArray("data").toJavaList(String.class);
- return data;
- }
- public void hdel(String key, List<String> fields){
- if(CollUtil.isEmpty(fields)){
- return;
- }
- fields.stream().forEach(field->{
- Map<String, Object> params = new HashMap<>();
- params.put("key", this.genKey(key));
- params.put("field", field);
- String url = host + url_hash_hdel;
- JSONObject jsonObject = customHttpClient.postJson(url, params);
- if(Objects.isNull(jsonObject) || !"0".equals(jsonObject.getString("status"))){
- throw new RuntimeException("redis hash hdel error");
- }
- });
- }
- private String genKey(String key){
- return sysCode + "_" + serverName + "_" + key;
- }
- }
|