JedisUtil.java 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.genersoft.iot.vmp.utils.redis;
  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import org.springframework.stereotype.Component;
  4. import redis.clients.jedis.Jedis;
  5. import redis.clients.jedis.JedisPool;
  6. import java.util.Set;
  7. /**
  8. * @description:Jedis工具类
  9. * @author: wangshaopeng@sunnybs.com
  10. * @date: 2021年03月22日 下午8:27:29
  11. */
  12. @Component
  13. public class JedisUtil {
  14. @Autowired
  15. private JedisPool jedisPool;
  16. // ============================== Key ==============================
  17. /**
  18. * 检查给定 key 是否存在。
  19. *
  20. * @param key
  21. * @return
  22. */
  23. public Boolean exists(String key) {
  24. Jedis jedis = null;
  25. try {
  26. jedis = jedisPool.getResource();
  27. Boolean exists = jedis.exists(key);
  28. return exists;
  29. } finally {
  30. returnToPool(jedis);
  31. }
  32. }
  33. // ============================== Set ==============================
  34. /**
  35. * SADD key member [member ...]
  36. * 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。
  37. * 假如 key 不存在,则创建一个只包含 member 元素作成员的集合。
  38. * 当 key 不是集合类型时,返回一个错误。
  39. */
  40. public Long sadd(String key, String... members) {
  41. Jedis jedis = null;
  42. try {
  43. jedis = jedisPool.getResource();
  44. Long smove = jedis.sadd(key, members);
  45. return smove;
  46. } finally {
  47. returnToPool(jedis);
  48. }
  49. }
  50. /**
  51. * SMEMBERS key
  52. * 返回集合 key 中的所有成员。
  53. * 不存在的 key 被视为空集合。
  54. */
  55. public Set<String> smembers(String key) {
  56. Jedis jedis = null;
  57. try {
  58. jedis = jedisPool.getResource();
  59. Set<String> smembers = jedis.smembers(key);
  60. return smembers;
  61. } finally {
  62. returnToPool(jedis);
  63. }
  64. }
  65. /**
  66. * SREM key member1 [member2]
  67. * 移除集合中一个或多个成员
  68. */
  69. public Long srem(String key, String... member) {
  70. Jedis jedis = null;
  71. try {
  72. jedis = jedisPool.getResource();
  73. Long srem = jedis.srem(key, member);
  74. return srem;
  75. } finally {
  76. returnToPool(jedis);
  77. }
  78. }
  79. private void returnToPool(Jedis jedis) {
  80. if (jedis != null) {
  81. jedis.close();
  82. }
  83. }
  84. }