RedisService.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /*
  2. * *************************************************
  3. * Copyright (c) 2018 QMTH. All Rights Reserved.
  4. * Created by Deason on 2018-07-31 17:53:48.
  5. * *************************************************
  6. */
  7. package cn.com.qmth.examcloud.app.service;
  8. import cn.com.qmth.examcloud.app.core.utils.JsonMapper;
  9. import org.slf4j.Logger;
  10. import org.slf4j.LoggerFactory;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.data.redis.core.RedisTemplate;
  13. import org.springframework.data.redis.core.StringRedisTemplate;
  14. import org.springframework.stereotype.Service;
  15. import java.util.concurrent.TimeUnit;
  16. /**
  17. * Redis接口服务类
  18. *
  19. * @author: fengdesheng
  20. * @since: 2018/7/16
  21. */
  22. @Service
  23. public class RedisService {
  24. private static Logger log = LoggerFactory.getLogger(RedisService.class);
  25. @Autowired
  26. private StringRedisTemplate stringRedisTemplate;
  27. @Autowired
  28. private RedisTemplate<String, Object> redisTemplate;
  29. public void setObj(String key, Object value) {
  30. redisTemplate.opsForValue().set(key, value);
  31. }
  32. public void setObj(String key, Object value, long seconds) {
  33. redisTemplate.opsForValue().set(key, value, seconds, TimeUnit.SECONDS);
  34. }
  35. public void set(String key, String value) {
  36. stringRedisTemplate.opsForValue().set(key, value);
  37. }
  38. public void set(String key, String value, long seconds) {
  39. stringRedisTemplate.opsForValue().set(key, value, seconds, TimeUnit.SECONDS);
  40. }
  41. public String get(String key) {
  42. return stringRedisTemplate.opsForValue().get(key);
  43. }
  44. public <T> T getObj(String key, Class<T> clazz) {
  45. return (T) redisTemplate.opsForValue().get(key);
  46. }
  47. public <T> T fromJson(String key, Class<T> clazz) {
  48. String jsonStr = stringRedisTemplate.opsForValue().get(key);
  49. if (jsonStr != null) {
  50. return new JsonMapper().fromJson(jsonStr, clazz);
  51. }
  52. return null;
  53. }
  54. public boolean exist(String key) {
  55. return stringRedisTemplate.hasKey(key);
  56. }
  57. public void delete(String key) {
  58. stringRedisTemplate.delete(key);
  59. }
  60. public StringRedisTemplate getStringRedisTemplate() {
  61. return stringRedisTemplate;
  62. }
  63. public RedisTemplate<String, Object> getRedisTemplate() {
  64. return redisTemplate;
  65. }
  66. }