ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

redis

2021-11-28 12:31:15  阅读:93  来源: 互联网

标签:return String redis valueJSON param key import


package com.ekgc.medial.base.util;

import com.fasterxml.jackson.databind.json.JsonMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;

import java.util.concurrent.TimeUnit;

/**
 * <b>Redis 操作工具类</b>
 * @author Arthur
 * @version 3.0.0
 */
@Component("redisUtil")
public class RedisUtil {
	@Autowired
	private StringRedisTemplate redisTemplate;

	/**
	 * <b>将对象存储到 Redis 中</b>
	 * @param key
	 * @param value
	 * @param expireTimeSeconds
	 * @return
	 */
	public  boolean saveToRedis(String key, Object value, Long expireTimeSeconds) {
		try {
			// 将用户所给定的 Object 类型的 value 变为 String 类型的 JSON
			JsonMapper jsonMapper = new JsonMapper();
			String valueJSON = jsonMapper.writeValueAsString(value);
			// 将该 JSON 存储到 Redis 中
			redisTemplate.opsForValue().set(key, valueJSON);
			// 设置过期时间
			redisTemplate.expire(key, expireTimeSeconds, TimeUnit.SECONDS);
			return true;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return false;
	}

	/**
	 * <b>根据 Key 获得存储的对象信息</b>
	 * @param key
	 * @param type
	 * @return
	 */
	public  Object getFromRedis(String key, Class type) {
		try {
			// 通过 key 从 Redis 中获得对应 JSON
			String valueJSON = redisTemplate.opsForValue().get(key);
			// 判断此时能够获取到对应的 JSON
			if (valueJSON != null && !"".equals(valueJSON)) {
				// 此时存在对应的信息,那么变为对象
				JsonMapper jsonMapper = new JsonMapper();
				Object obj = jsonMapper.readValue(valueJSON, type);
				return obj;
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
}

标签:return,String,redis,valueJSON,param,key,import
来源: https://blog.csdn.net/m0_60322480/article/details/121589495

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有