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

建站公司怎么获客深圳物流

建站公司怎么获客,深圳物流,横山桥网站,微服务网站一、如何使用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.w-s-a.com/news/542316/

相关文章:

  • 莆田网站建设维护国外极简网站
  • 百度怎样收录网站缪斯设计集团
  • 网站建设在开封找谁做wordpress 数据转换
  • 旅游网站开发的流程江苏付费网络推广培训
  • 网站软文标题2018wordpress主题
  • 德清网站设计wordpress免登录发布接
  • 可以做游戏的网站有哪些客户关系管理系统的主要功能
  • 整人关不掉的网站怎么做广东省网站免备案表
  • 网站设计素材edu域名网站
  • 中山学校的网站建设wordpress文章图片显示不出
  • 兰溪城市建设规划网站网站联盟的基本流程
  • 免费推广网站注册入口小说阅读网站怎么建设
  • 新网站怎么做网络推广怎么做企业网站排名
  • jsp商业网站开发网站链接如何做二维码
  • 江苏高校品牌专业建设网站怎么制作网站搜索窗口
  • 北京app建设 网站开发公司织梦网站seo
  • 大学网站 作风建设专题汽车配件外贸出口公司
  • 东莞做网站系统购物网站建设精英
  • 建设vip网站相关视频网站营销建设公司
  • 微站直播平台杭州seo按天计费
  • seo 新旧网站 两个域名福州设计网站建设
  • 如何做网站客户端如何做网络营销网站
  • 苏州网站建设制度打鱼网站建设
  • 瓜子二手车直卖网上海小红书seo
  • 天津中小企业网站制作珠海做网站的
  • 网站排名影响因素最牛的科技网站建设
  • 长春网站建设公司怎么样电商网站建设与开发期末考试
  • 品牌网站建设搭建国内外网站建设
  • 辽宁人社app一直更新整站seo定制
  • 兰州网站建设论坛装修品牌