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

微信开放平台可以做网站么网站备案号图标

微信开放平台可以做网站么,网站备案号图标,久就建筑网,用wordpress做商城目录 SpringDataRedis 简单介绍 入门案例 RedisTemplate序列化方案 方案一: 方案二: SpringDataRedis 简单介绍 提供了对不同Redis客户端的整合(Lettuce和Jedis) 提供了RedisTemplate统一API来操作Redis 支持Redis的发布订阅模型 支持Redis哨兵和Redis集群 支持基于…

目录

SpringDataRedis

简单介绍

入门案例

RedisTemplate序列化方案

方案一:

方案二:


SpringDataRedis

简单介绍

  • 提供了对不同Redis客户端的整合(Lettuce和Jedis)

  • 提供了RedisTemplate统一API来操作Redis

  • 支持Redis的发布订阅模型

  • 支持Redis哨兵和Redis集群

  • 支持基于Lettuce的响应式编程

  • 支持基于JDK、JSON、字符串、Spring对象的数据序列化及反序列化

  • 支持基于Redis的JDKCollection实现

入门案例

1.引入依赖

<!-- Redis依赖-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- 连接池依赖-->
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId>
</dependency>

2.配置Redis

spring:data:redis:host: localhostport: 6379database: 0password: root@123456lettuce:pool:max-active: 8max-idle: 8min-idle: 0max-wait: -1ms

3.注入RedisTemplate,简单测试

@SpringBootTest
class RedisDemoApplicationTests {@Autowiredprivate RedisTemplate redisTemplate;
​@Testvoid testString() {redisTemplate.opsForValue().set("name", "John");String name = (String) redisTemplate.opsForValue().get("name");System.out.println(name);}
​
}

是不是感觉挺简单的?但这样会出现一个问题,那就是存入的数据,默认是采用jdk的序列化和反序列化,也就导致存入redis中的数据,是一个长串,可读性较差。

如下图:

并且还面临一个问题,大家在redis图形界面的命令行操作name时,会发现,数据并没有改变。

这是因为Java一直在对序列化的key(也就是长串)对应的值进行操作,那么怎么解决这个问题呢?

这就需要提到RedisTemplate序列化方案,具体怎么实现呢,下面是两种方案的具体实现。

RedisTemplate序列化方案

方案一:
  1. 自定义RedisTemplate

  2. 修改RedisTemplate的序列化器为GenericJackson2JsonRedisSerializer

    @Configuration
    public class RedisConfig {@Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {//创建RedisTemplate对象RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();//设置连接工厂redisTemplate.setConnectionFactory(redisConnectionFactory);//创建JSON序列化工具GenericJackson2JsonRedisSerializer serializer = new GenericJackson2JsonRedisSerializer();//设置Key的序列化redisTemplate.setKeySerializer(serializer);redisTemplate.setHashKeySerializer(serializer);//设置Value的序列化redisTemplate.setValueSerializer(serializer);redisTemplate.setHashValueSerializer(serializer);
    ​return redisTemplate;}
    }

3.测试类:

@SpringBootTest
class DemoApplicationTests {
​@Autowiredprivate RedisTemplate<String, Object> redisTemplate;
​@Testvoid testString() {redisTemplate.opsForValue().set("name", "John");String name = (String) redisTemplate.opsForValue().get("name");System.out.println(name);}
​@Testvoid testSaveUser() {//写入数据User user = new User("John", 25);System.out.println(user);redisTemplate.opsForValue().set("user", user);User savedUser = (User) redisTemplate.opsForValue().get("user");System.out.println(savedUser);}
​
}

4.Redis图形界面如下:(有冗余字段,比如@class)

而实际上,这样存储虽然对于机器来说更便于读取,但占用的空间是很大的。尤其是对于redis来说,内存的存储空间还是比较珍贵的,这么浪费是不太好的。

事实上,咱们程序员在封装写入redis,或者读取时是知道数据类型的,那么自行对字段进行序列化即可解决该问题,请看下述方案二。

方案二:

1.使用StringRedisTemplate(写入或读取都直接收字符串)

2.写入Redis时,手动把对象序列化为JSON串

3.读取Redis时,手动把读取到的JSON反序列化为对象

4.简易测试类:

@SpringBootTest
class RedisStringTests {
​@Autowiredprivate StringRedisTemplate StringRedisTemplate;
​@Testvoid testString() {StringRedisTemplate.opsForValue().set("name", "John");String name = StringRedisTemplate.opsForValue().get("name");System.out.println(name);}
​private static final ObjectMapper mapper = new ObjectMapper();
​@Testvoid testSaveUser() throws JsonProcessingException {写入数据User user = new User("John", 25);System.out.println(user);//手动序列化String json = mapper.writeValueAsString(user);//写入redisStringRedisTemplate.opsForValue().set("user", json);
​//读取数据User savedUser = mapper.readValue(json, User.class);System.out.println(savedUser);}
​
}

5.Redis图形化界面

http://www.dtcms.com/wzjs/567634.html

相关文章:

  • 织梦cms建站邯郸微信小程序制作公司
  • 京东商城网站首页北京seo服务行者
  • 怎么建立免费的网站产品设计毕业生工资一般多少
  • 安徽城乡建设局网站wordpress 网易云跟帖
  • 美食网站开发开题报告网站要交钱吗
  • 宣传网站建设意义工作台
  • 网站设计速成网站怎么记录搜索引擎的关键词
  • 重庆推广网站中介网站开发
  • 网站建设nayuwang房产网怎么查到房产
  • 二级域名做城市分网站深圳宝安区住房和建设局网站官网
  • 表格网站怎么做优化师培训机构
  • 只做正品的购物网站重庆网站建设 重庆网站制作
  • 网站后台模板制作流程互联网行业使用收益法进行评估时
  • 湖南建设信誉查询网站艺之都网站建设微信app开发
  • 石家庄网站建设哪家好沈阳市网站制作
  • 网站建设技术方案模板下载深圳工业设计协会
  • 网站关键字代码鞋子网站模板
  • 专业企业网站制作怎么做wordpress地方门户主题
  • 做编程的 网站有哪些白城市住房建设局网站
  • qt 做网站沈阳网站关键词优化哪家好
  • 网站开发和合同如何有效的推广宣传
  • app开发人员网站网站快速搜索
  • ie禁止访问网站wordpress登陆后
  • 中国设计师个人网站2345手机助手下载安装
  • 建设婚纱摄影网站的重要性服务器放网站
  • 中国建筑业协会官方网站太原网站建设vhuashi
  • 杭州做网站工作室成都五月花网页设计培训
  • 用网站做淘宝客的人多吗html动态页面代码
  • 昭通做网站百度快照推广
  • 网站小程序开发公司网站建设费如何记账