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 ...
随机推荐
- 在Ubuntu16.04 TLS 安装LAMP
准备在虚拟机上搭建一个靶机系统(DoraBox),但是还不想使用一键搭建所以起了心思准备使用LAMP框架搭载这个靶机系统,于是有了以下文章,先从百度搜索一下,Ubuntu搭建LAMP. 然后点进去第一 ...
- .Net进程外session配置
配置步骤: 1.开启 ASP.NET状态服务:cmd状态下:services.msc 2.配置web.config文件,在system.web下加入如下配置 <sessionState mode ...
- Tomcat配置解析
Tomcat文件配置 tomcat解压后目录 bin:可执行文件(startup.bat shutdown.bat) conf:配置文件(server.xml) lib:tomcat依赖的jar文件 ...
- 源代码扫描工具Fortify SCA与FindBugs的简单对比
前段时间因为工作原因需要对java源代码进行扫描,现结合使用经验对静态代码扫描工具Fortify SCA与FindBugs进行一个简单的对比. 一.Fortify SCA Fortify SCA是由全 ...
- getpass.getpass 无法在pycharm上run显示的 workaround
getpass.getpass 只能通过交互式终端运行.py文件来密文输入密码,想在pycharm里运行,好不容易找到一个小窍门,记录如下 from easygui import passwordbo ...
- MyBatis从入门到精通:第一章配置MyBatis
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC ...
- Java编程思想:文件加锁
import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; i ...
- 74859a颜色信息
74859a十进制的RGB值为R:116, G:133, B:154. CMYK值为C:24.675, M:13.636, Y: 0.0, K: 39.608 RGB 116, 133, 154 百分 ...
- elasticsearch5.4集群超时
四个节点,有两个是新增加的节点,两个老节点间组成集群没有问题,新增加了两个节点,无论是四个组成集群 # --------------------------------- Discovery ---- ...
- linux下的FTP安装及调优
前言: 在之前交换平台的开发中,FTP的各种操作算是核心功能点. 在FTP的开发中,遇到了不少坑. 如FTP需要设置被动模式,否则10M以上的包可能会上传失败. 如FTP需要设置囚牢模式,否则访问的文 ...