当前位置: 首页 > news >正文

务川网站建设游戏推广代理

务川网站建设,游戏推广代理,黄页,微信微网站是什么案例SpringBoot整合Redis,配置RedisTemplate序列化。如果使用StringRedisTemplate,那么不需要配置序列化,但是StringRedisTemplate只能存储简单的String类型数据,如图: 如果使用StringRedisTemplate存储一个常规对象&#…

SpringBoot整合Redis,配置RedisTemplate序列化。如果使用StringRedisTemplate,那么不需要配置序列化,但是StringRedisTemplate只能存储简单的String类型数据,如图:


如果使用StringRedisTemplate存储一个常规对象,只能转换成JSON字符串存储,取出后再把JSON字符串转成需要的对象,比较麻烦,所以一般使用RedisTemplate。

一、RedisTemplate配置使用

使用RedisTemplate之前一般需要配置序列化方式,这里以单节点Redis为例:

1、添加maven依赖

        <!-- redis --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>


2、添加配置

import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;/*** Redis配置*/
@Slf4j
@Configuration
public class RedisConfig {/*** 实例化 RedisTemplate 对象* 设置序列化方式* 默认序列化为:JdkSerializationRedisSerializer* JdkSerializationRedisSerializer       占用空间小,序列化速度慢,客户端可读性差* GenericJackson2JsonRedisSerializer    占用空间大,序列化速度快,客户端可读性好** @return*/@Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {log.info("redisTemplate init. serializer=GenericJackson2JsonRedisSerializer");RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();// 设置 key 的序列化器 StringRedisSerializerredisTemplate.setKeySerializer(stringRedisSerializer);redisTemplate.setHashKeySerializer(stringRedisSerializer);// 设置 value 的序列化器 GenericJackson2JsonRedisSerializerGenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();redisTemplate.setHashValueSerializer(genericJackson2JsonRedisSerializer);redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer);redisTemplate.setConnectionFactory(factory);return redisTemplate;}


3、使用
 

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import java.util.concurrent.TimeUnit;/*** Redis常用方法*/
@Component
public class RedisCache {/*** 1分钟,单位:秒*/private static final long ONE_MINUTE = 60;@Autowiredprivate RedisTemplate redisTemplate;/*** 存储* @param key   唯一键* @param value     值* @param expireTime    过期时间,单位:秒* @param <T>*/public <T> void set(String key, T value, long expireTime) {redisTemplate.opsForValue().set(key, value, expireTime, TimeUnit.SECONDS);}/*** 查询* @param key   唯一键* @param <T>* @return*/public <T> T get(String key) {return (T) redisTemplate.opsForValue().get(key);}/*** 查询剩余过期时间* @param key   唯一键* @return*/public Long getRemainExpire(String key) {return redisTemplate.opsForValue().getOperations().getExpire(key);}/*** 设置过期时间* @param key   唯一键* @param expireTime    过期时间,单位:秒* @return*/public Boolean setExpire(String key, long expireTime) {return redisTemplate.opsForValue().getOperations().expire(key,expireTime, TimeUnit.SECONDS);}
}

4.总结

RedisTemplate默认使用的是JDK 序列化方式(JdkSerializationRedisSerializer) ,这种序列化方式可以不用在配置类里配置,默认即可,这种不推荐使用,这种方式对应客户端来说可读性差,不利于人工排查问题。

所以一般用JSON序列化,JSON序列化方式又有两种,GenericJackson2JsonRedisSerializer和Jackson2JsonRedisSerializer,GenericJackson2JsonRedisSerializer配置更简单方便些。

对比一下JDK 序列化和JSON序列化的可读性,如图:

JDK 序列化:

JSON序列化:

http://www.yayakq.cn/news/611591/

相关文章:

  • 如何查看网站seo广州市专业做商城网站
  • 沈阳网站建设管理厦门建设
  • 济南制作网站制作公司策划自己建设企业网站
  • 上海市网站seo公司WordPress文章添加灯箱
  • 网站备案是否收费江门住房与城乡建设局官方网站
  • 什么网站有教做详情页wordpress打不开仪表盘
  • 网站设计要素网站做公司简介怎么做
  • ASP网站建设实训报告总结成都网站游戏设计
  • 网站导航菜单代码广州网络推广哪家好
  • 桓台新城建设有限公司网站网站加载优化
  • 微网站可以做商城吗商丘网站公司电话号码
  • 企业网站设计布局方式代加工厂都不做网站
  • 如何自学建网站深圳网站建设 信科便宜
  • 杭州网站开发响应式个人网页设计欣赏作品
  • 多用户商城网站建设公司龙岩网站建设亿网行
  • 做网站需要用什么系统wordpress 电子书 插件
  • 英语培训网站建设需求分析报告东莞百度seo推广公司
  • 百度一下搜索引擎海宁网站怎么做seo
  • 岳阳市交通建设投资公司门户网站建设网站属于什么费用吗
  • 同学录网站建设网站外包费用怎么做分录
  • 吉林建设厅网站南宁关键词自然排名
  • 十大设计创意网站网站和ip建设
  • 衣柜做网站的关键词免费网站在线观看
  • 深圳市专业网站建设上海做淘宝网站建设
  • 泸州网站建设多少钱合肥响应式网站开发
  • 族谱网站建设wordpress 显示字体
  • 做网站需要编程免费无版权图片素材网站
  • 松门建设规划局网站wordpress modernizr
  • 自己怎么做短视频网站Wordpress向导
  • 哪里可以做购物网站wordpress配置数据库