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

电商网站建设任务分解结构号卡分销系统开发

电商网站建设任务分解结构,号卡分销系统开发,杭州外贸网站制作,wordpress赚钱方法一、如何使用Redis的Java客户端 官方文档#xff1a; https://redis.io/docs/clients/java/ Java-Redis客户端使用场景Jeids 以Redis命令作为方法名称#xff0c;学习成本低#xff0c;简单实现#xff0c;但是Jedis实例是线程不安全的#xff0c;多线程环境下需要基于连…一、如何使用Redis的Java客户端 官方文档 https://redis.io/docs/clients/java/ Java-Redis客户端使用场景Jeids 以Redis命令作为方法名称学习成本低简单实现但是Jedis实例是线程不安全的多线程环境下需要基于连接池使用。 lettuce Lettuce 是基于Netty实现的支持同步、异步和响应式编程方式并且是线程安全的。Redis的哨兵模式、集群模式和管道模式。 Redisson Redisson是基于Redis实现的分布式、可伸缩的Java数据结构集合。包含了诸如Map、Queue、Lock、Semaphore信号量、AtomicLong原子类等强大功能 SpringDataRedis 一款结合了Jedis和Lettuce的SpringBoot框架整合Redis组件。 二、Jedis Jedis官网 https://github.com/redis/jedis Redis的官方也推荐了这种客户端。 一引入依赖 dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion4.3.1/version /dependency二建立连接 方式一单点连接 private Jedis jedis;BeforeEachvoid setup() {//建立连接jedis new Jedis(192.168.92.131,6379);//设置密码jedis.auth(123321);//选择数据库jedis.select(0);}Testvoid redisTest(){//插入数据String result jedis.set(name,张三);System.out.println(resultresult);//获取数据String name jedis.get(name);System.out.println(namename);}AfterEachvoid destroy() {if (jedis ! null)jedis.close();}//获取的结果 resultOK name张三方式二连接池建立连接 public class JedisConnectionFactory {private static final JedisPool jedisPool;static {//1、创建连接池配置对象JedisPoolConfig jedisPoolConfig new JedisPoolConfig();//2、配置连接池相关信息// 最大连接数jedisPoolConfig.setMaxTotal(8);// 最大空间连接jedisPoolConfig.setMaxIdle(8);// 最小空闲连接jedisPoolConfig.setMinIdle(0);// 设置最长等待时间msjedisPoolConfig.setMaxWaitMillis(200);//3、建立连接池需要连接池配置ip端口等待时间密码jedisPool new JedisPool(jedisPoolConfig, 192.168.92.131,6379,1000,123321);}public static Jedis getConnection(){//获取单个连接return jedisPool.getResource();}}三、SpringDataRedis SpringData 是 Spring 中数据操作的模块包含对各种数据库的集成其中对Redis的集成模块就叫做 SpringDataRedis官网地址 https://spring.io/projects/spring-data-redis 提供了对不同Redis客户端的整合Lettuce和Jedis提供了RedisTemplate统一API来操作Redis支持Redis的发布订阅模块支持Redis哨兵和Redis集群支持基于Lettuce的响应式编程支持基于JDK、JSON、字符串、Spring对象的数据序列化及反序列化支持基于Redis的JDKCollection实现 一RedisTemplate RedisTemplate将不同的数据类型操作API封装到不同类型中。 API返回值类型说明redisTemplate.opsForValue()ValueOperations操作String类型数据redisTemplate.opsForHash()HashOperations操作Hash类型数据redisTemplate.opsForList()ListOperations操作List类型数据redisTemplate.opsForSet()SetOperations操作Set类型数据redisTemplate.opsForZSet()ZSetOperations操作SortedSet类型数据redisTemplate通用命令 二RedisTemplate的基本使用 1、引入依赖 !--Redis依赖-- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId /dependency!--连接池依赖-- dependencygroupIdorg.apache.commons/groupIdartifactIdcommons-pool2/artifactId /dependency2、配置redis spring:redis:host: 192.168.92.131port: 6379password: 123321lettuce:pool:max-active: 8 #最大连接数max-idle: 8 #最大空闲连接min-idle: 0 #最小空闲连接max-wait: 100 #连接等待时间3、注入RedisTemplate Autowired private RedisTemplate redisTemplate;4、使用RedisTemplate Autowired private RedisTemplate redisTemplate;public void operateString(){// 插入一条string类型的数据存储的格式是Java序列化的格式redisTemplate.opsForValue().set(name, 李四);// 读取一条string类型数据Object name redisTemplate.opsForValue().get(name);System.out.println(name name); }5、优化RedisTemplate存储序列化的现象 Configuration public class RedisConfig {Beanpublic RedisTemplateString, Object redisTemplate(RedisConnectionFactory connectionFactory) {//1、创建RedisTemplate对象RedisTemplateString, Object template new RedisTemplate();//2、设置连接工厂template.setConnectionFactory(connectionFactory);//3、创建JSON序列化工具 GenericJackson2JsonRedisSerializer jsonRedisSerializer new GenericJackson2JsonRedisSerializer();//4、设置key的序列化template.setKeySerializer(RedisSerializer.string());template.setHashKeySerializer(RedisSerializer.string());//5、设置Value的序列化template.setValueSerializer(jsonRedisSerializer);template.setHashValueSerializer(jsonRedisSerializer);//6、返回return template;}} 缺点 JSON序列化时会将calss的类型写入json结果中存入Redis中带来额外的内存。 为了节省内存空间我们并不会使用JSON序列化器来处理value而是统一使用String序列化器要求只能存储String类型的key 和 value当需要存储Java对象时手动完成序列化和反序列化。 Spring默认提供了一个StringRedisTemplate类它的key和value的序列化方式默认就是String方式省去自定义RedisTemplate的过程。** PS不如直接用alibaba开源的fastjson减少学习成本但要注意的是 在JSON插件的排行中 jackson-databind gson fastjson这就说明了问题fastjson 专注于性能但安全性不足gson是保证了安全性如果可以在项目中应该使用gson** Autowired private StringRedisTemplate stringRedisTemplate;//JSON工具 private static final ObjectMapper mapper new ObjectMapper();Test void testStringTemplate() throws JsonProcessingException {//准备对象User user new User(zain, 23);//手动序列化String json mapper.writeValueAsString(user);//写入一条数据stringRedisTemplate.opsForValue().set(jedis:user:2, json);// 读取数据String val stringRedisTemplate.opsForValue().get(jedis:user:2);// 反序列化User user1 mapper.readValue(val, User.class); }
http://www.sadfv.cn/news/300029/

相关文章:

  • 有什么做服装的网站凤阳县建设局网站
  • 贵阳专业做网站汕头网上推广公司
  • 网站建设服务电话代码网页制作
  • 做视频解析网站是犯法的么网站设计建设
  • 网站建设维护专员wordpress 内核月报
  • 张家口专业做网站公司阿里巴巴的关联网站
  • 揭阳网站开发mituad东莞寮步伟易达电子厂
  • 网站 购买西峡网站建设
  • 营销型外贸网站服务器搭建网站域名配置
  • 成都学校网站制作公司西安黄页查询
  • 手机网站的视频怎么才能下载有没有做数学题挣钱的网站
  • 网站怎么增加流量网站备案相关手续费
  • 邹城建网站wordpress多媒体路径
  • qq可以做公司免费网站seo 网站换程序
  • 合作制作网站做番号网站的 违法
  • 网络运营推广培训课程舟山seo
  • 重庆市建设公共资源交易中心网站首页阻止网站查到访问者ip
  • 外贸网站建设公司渠道h5模板怎么制作
  • 深圳制作网站的公司淘宝 wordpress
  • wordpress4.6.9seo关键词排名技巧
  • 织梦网站转移服务器手机桂林生活网
  • 一个网站需要几个人做福建自己建设网站
  • 网站项目流程表一级做爰片软件网站
  • 高端营销网站建设泰国vps
  • 网站APP注册做任务水墨画风格网站
  • 重庆手机网站推广报价大秦建设集团有限责任公司官方网站
  • 新建建设兵团科技局网站wordpress手机登陆不了
  • 青园网站建设wordpress出现404
  • 网站和网店的区别wordpress网站go.php跳转
  • 建设部网站内装修标准九九建筑网