java封装 redis 操作 对象,list集合 ,json串
/** * 功能说明: * 功能作者: * 创建日期: * 版权归属:每特教育|蚂蚁课堂所有 www.itmayiedu.com */package com.redis.service;
import java.util.Collection;import java.util.Map;import java.util.Set;import java.util.concurrent.TimeUnit;
import com.alibaba.fastjson.JSON;import com.fasterxml.jackson.databind.util.JSONPObject;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.stereotype.Component;
import ch.qos.logback.core.util.TimeUtil;
//  springboot 2.0 整合redis@Componentpublic class RedisService {
   @Autowired   private StringRedisTemplate stringRedisTemplate;   @Autowired   private RedisTemplate<Object,Object> template;
   public void set(String key, Object object, Long time) {      // 让该方法能够支持多种数据类型存放      // 如果存放时Set类型      if (object instanceof Set) {         setSet(key, object);      }      setString(key,object);
      // 设置有效期
      if (time != null) {         stringRedisTemplate.expire(key, time, TimeUnit.SECONDS);      }
   }
   public void setString(String key, Object object) {      String value = toJson(object);      // 存放string类型      stringRedisTemplate.opsForValue().set(key, value);   }   public void setMap(String key,Object object){      Map value=(Map) object;      stringRedisTemplate.opsForValue().multiGet((Collection<String>) value);   }
   public void setSet(String key, Object object) {      Set<String> valueSet = (Set<String>) object;      for (String string : valueSet) {         stringRedisTemplate.opsForSet().add(key, string);      }   }
   public String getString(String key) {      System.out.println("获取的数据格式是"+stringRedisTemplate.opsForValue().get(key) ) ;      return stringRedisTemplate.opsForValue().get(key);   }   /**    * Object转成JSON数据    */   private String toJson(Object object){      if(object instanceof Integer || object instanceof Long || object instanceof Float ||            object instanceof Double || object instanceof Boolean || object instanceof String){         return String.valueOf(object);      }      System.out.println("存入的数据格式是"+JSON.toJSONString(object));      return JSON.toJSONString(object);   }
   public  <T> T fromJson(String json, Class<T> clazz){      return JSON.parseObject(json, clazz);   }}												
											java封装 redis 操作 对象,list集合 ,json串的更多相关文章
- openresty开发系列27--openresty中封装redis操作
		
openresty开发系列27--openresty中封装redis操作 在关于web+lua+openresty开发中,项目中会大量操作redis, 重复创建连接-->数据操作-->关闭 ...
 - 类对象序列化为json串,json串反序列化为类对象
		
1.类对象序列化为json串: 方法一: class P(object): def __init__(self,name,age,sex): self.name=name self.age=age s ...
 - Java连接Redis,存储对象获取对象()byte和json),连接池
		
Java连接Redis Jedis连接Redis,Lettuce连接Redis Jedis连接Redis 1. 创建maven项目 2. 引入依赖 <dependencies> <d ...
 - 封装redis操作 php版本
		
<?php namespace App\Service; use App\Service\BaseService; use Illuminate\Support\Facades\Redis; / ...
 - python对象转化为json串、json串转化为python串
		
1.1. JSON简介: JavaScript Object Notation(JavaScript对象表示法) JSON是存储和交换文本信息的语法.类似XML JSON比XML更小.更快.更易解析 ...
 - Python: 自定义类对象序列化为Json串
		
之前已经实现了Python: Json串反序列化为自定义类对象,这次来实现了Json的序列化. 测试代码和结果如下: import Json.JsonTool class Score: math = ...
 - Java封装Redis常用操作
		
package com.advance.Redis; import org.apache.log4j.Logger; import org.testng.annotations.Test; impor ...
 - Java的redis 操作类-优化通用版本
		
java操作redis多节点处理方式;http://blog.itpub.net/29254281/viewspace-1188644/首先maven引入依赖包 <dependency> ...
 - Redis学习---Redis操作之有序集合
		
有序集合,在集合的基础上,为每元素排序:元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值,即:值和分数,分数专门用来做排序. zadd(name, *args, **kw ...
 
随机推荐
- SqlCommand的Parameters的用法
			
SqlCommand的Parameters的用法 可以用的SqlCommand的Parameters的方法SqlCommand cmd=new ("insert into notice(ly ...
 - Linux命令学习-wget命令
			
Linux系统中的wget是一个下载文件的工具,它用在命令行下,通过它可以方便的下载文件. 我们以百度的logo图片链接地址为例:https://www.baidu.com/img/bd_logo.p ...
 - 【POJ - 2676】Sudoku(数独  dfs+回溯)
			
-->Sudoku 直接中文 Descriptions: Sudoku对数独非常感兴趣,今天他在书上看到了几道数独题: 给定一个由3*3的方块分割而成的9*9的表格(如图),其中一些表格填有1- ...
 - Windows 10打开远程桌面的方法
			
今天使用windows 10,想要用远程桌面连接,可是怎么都找不到,哎,win10相比于win7和XP系统,感觉还是有点使用不习惯.不过后来还是找到了两个方法,在此记录下来,分享给需要的朋友. 1. ...
 - 求1-2/3+3/5-4/7+......49/97和(C语言实现)
			
一.功能需求 求1 - 2/3 + 3/5 - 4/7 + ......49/97的和 C语言等级考试中也有涉及到类似的需求. 二.代码分析 仔细查看功能需求,可以发现这个等式的三个规律: 1.从每一 ...
 - [记录]Nginx配置实现&&和||的方法实例
			
Nginx配置文件中if的&&和||的实现(nginx不支持&&和||的写法) 1.与(&&)的写法: set $condiction '';if ($ ...
 - 为git伸冤(使用git中可能会踩的一些坑)
			
窦娥被冤,六月飞霜.今天我两次遇到git被冤枉的情况,要是其它人也遇到这种情况导致git使用量缩小,那也要六月飞霜了. git第一次被冤枉是同事以为git的版本管理有问题.事情是这样的,同事提交新版本 ...
 - Atlassian In Action-Jira之核心插件(三)
			
目录 BigPicture BigPicture特点介绍 管理员管理菜单 任务列表 任务管理 设置 最佳实践 Jira Misc Workflow Extensions 最佳实践 自动分配 自动化流程 ...
 - Kafka API操作
			
Kafka API实战 环境准备 在eclipse中创建一个java工程 在工程的根目录创建一个lib文件夹 解压kafka安装包,将安装包libs目录下的jar包拷贝到工程的lib目录下,并buil ...
 - python课堂整理10---局部变量与全局变量
			
一.局部变量与全局变量 1. 没有缩进,顶头写的变量为全局变量 2. 在子程序里定义的变量为局部变量 3. 只有函数能把变量私有化 name = 'lhf' #全局变量 def change_name ...