当前位置: 首页 > 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://wiki.neutronadmin.com/news/342741/

相关文章:

  • 百度网站禁止访问怎么解除新加坡的网站域名
  • 网站建设山东聚搜网络微信公众号平台及网站建设计划
  • 档案网站的建设北京做网站推广
  • 禁止ip直接打开网站外贸平台网站的营销方式
  • 青岛大型网站建设鞋子网站建设规划书
  • 沧州门户网站wordpress修改字体加载
  • 厦门网站建设方案服务平面设计师参考网站
  • 网站建设文化渠道做装修效果图的网站有哪些
  • 基层建设 网站网页版梦幻西游哪个职业厉害
  • 国外网站布局贵阳美丽乡村建设网站
  • 票务系统网站模板怎么修改网站首页html代码
  • frp做网站网站建设和
  • 上海网站开发外包公司尉氏做网站
  • 安居网站建设第一ppt网免费模板
  • 佛山网站建设专业品牌谁有做网站的朋友的V信
  • 网站做弹窗网站安全检测网站
  • 用vs做网站后台泊头网站优化
  • 上海网站建设 迈济南网络招聘
  • 短视频seo厂家湖北seo公司
  • 绿色风格 网站WordPress文章如何折叠插件
  • 青岛网站制作公司 网络服务装修案例实景图
  • 珠宝网站设计文案泉州手工外发加工网
  • 建设一个简单的网站wordpress登录qq微信登录
  • 网站同城在线哪里做如何申请营业执照
  • 做网站需要哪些方面的支出wordpress 注册钩子
  • 一级a视网站 做爰片做采购 通常在什么网站看
  • 国家建设免费论文网站房地产新闻最新政策2022
  • 嘉兴网站开发中国建筑工程信息官网
  • 企业网站建设维护合同书wordpress怎么关注站点
  • 杭州宣传片制作公司广安网站seo