MappingCache.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package com.java110.utils.cache;
  2. import com.java110.utils.constant.DomainContant;
  3. import com.java110.utils.util.SerializeUtil;
  4. import com.java110.entity.mapping.Mapping;
  5. import redis.clients.jedis.Jedis;
  6. import java.util.List;
  7. /**
  8. * 映射缓存工具类
  9. * Created by wuxw on 2018/4/14.
  10. */
  11. public class MappingCache extends BaseCache {
  12. //后缀 用来刷缓存时删除 所有以这个为后缀的数据
  13. public final static String _SUFFIX_MAPPING = "_SUFFIX_MAPPING";
  14. /**
  15. * 获取值
  16. * @param domain
  17. * @param key
  18. * @return
  19. */
  20. public static String getValue(String domain,String key){
  21. Jedis redis = null;
  22. try {
  23. redis = getJedis();
  24. Object object = SerializeUtil.unserialize(redis.get((domain + key+_SUFFIX_MAPPING).getBytes()));
  25. if (object == null) {
  26. return null;
  27. }
  28. Mapping mapping = (Mapping) object;
  29. return mapping.getValue();
  30. }finally {
  31. if(redis != null){
  32. redis.close();
  33. }
  34. }
  35. }
  36. /**
  37. * 获取公用域下的key值
  38. * @param key
  39. * @return
  40. */
  41. public static String getValue(String key){
  42. Mapping mapping = getMapping(key);
  43. return mapping == null ? "":mapping.getValue();
  44. }
  45. public static Mapping getMapping(String key){
  46. Jedis redis = null;
  47. try {
  48. redis = getJedis();
  49. Object obj = SerializeUtil.unserialize(redis.get((DomainContant.COMMON_DOMAIN+key+_SUFFIX_MAPPING).getBytes()));
  50. if(obj instanceof Mapping){
  51. return (Mapping) obj;
  52. }
  53. }finally {
  54. if(redis != null){
  55. redis.close();
  56. }
  57. }
  58. return null;
  59. }
  60. /**
  61. * 获取 域下的所有数据
  62. * @param domain
  63. * @return
  64. */
  65. public static List<Mapping> getValueByDomain(String domain){
  66. Jedis redis = null;
  67. try {
  68. redis = getJedis();
  69. return SerializeUtil.unserializeList(redis.get((domain+_SUFFIX_MAPPING).getBytes()),Mapping.class);
  70. }finally {
  71. if(redis != null){
  72. redis.close();
  73. }
  74. }
  75. }
  76. /**
  77. * 保存数据
  78. * @param mapping
  79. */
  80. public static void setVaule(Mapping mapping){
  81. Jedis redis = null;
  82. try {
  83. redis = getJedis();
  84. redis.set((mapping.getDomain()+mapping.getKey()+_SUFFIX_MAPPING).getBytes(),SerializeUtil.serialize(mapping));
  85. }finally {
  86. if(redis != null){
  87. redis.close();
  88. }
  89. }
  90. }
  91. /**
  92. * 保存list 数据
  93. * @param mappings
  94. */
  95. public static void setValue(List<Mapping> mappings){
  96. Jedis redis = null;
  97. try {
  98. redis = getJedis();
  99. redis.set((mappings.get(0).getDomain()+_SUFFIX_MAPPING).getBytes(),SerializeUtil.serializeList(mappings));
  100. }finally {
  101. if(redis != null){
  102. redis.close();
  103. }
  104. }
  105. }
  106. }