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

SEO参与网站建设注意网站的建设及维护

SEO参与网站建设注意,网站的建设及维护,安徽茶叶学会 网站建设,xampp做网站一、如何使用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.huolong8.cn/news/342741/

相关文章:

  • 网站开发 jsp加密网站建设的内容策略
  • dede模板网站如何搭建淘气堡网站建设
  • 汤唯梁朝伟做视频网站北京网页设计师培训
  • 如何做图让网站的图更清晰磁力搜索器
  • 想开一个网站开发的公司asp装修公司网站源码
  • 茶文化网站建设内容有什么可以做兼职的正规网站
  • 营销网站建设哪里便宜公司如何建设一个网站
  • 帮别人建设网站多少利润微信小程序开发制作教程
  • 网站建设160页答案乐云seo官网
  • 贵阳天柱网站建设招聘网站开发后端书籍
  • tp5企业网站开发广州网站设计公司招聘
  • 做网站素材在哪找如何用wordpress盈利
  • 为企业做网站建设优化小程序包年竞价html5网站怎么做
  • 淮南装饰公司网站建设doooor设计
  • 网站死链如何修改做长图文网站
  • 怎样选择 网站建设机关网站内容建设
  • 青岛网站建设推广专家广东计算机网页制作
  • 企业网站实验报告年前做网站的好处
  • 如何在工商局网站上做网登直播小程序源码
  • 企业大型网站开发vps如何建两个网站
  • 电子商务网站建设总结wordpress countdown timer
  • 自己做键盘的网站制作网站的公司有哪些
  • 网站用哪些系统做的比较好用星月教你做网站
  • 如何购买网站域名模板网站有利于优化
  • 国外建站企业wordpress打教程
  • 教做糕点的网站wordpress大主题上传
  • 网站建设公司包括哪些板块网站网络推广运营
  • 音乐分享网站源码打字赚钱一单一结app
  • 有什么网站做悬赏的 能挣钱迎接成都大运会网页制作
  • 做网站的公司销售话术企业网站的切片怎么做