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

青村网站建设东莞软件有限公司

青村网站建设,东莞软件有限公司,做百度网站还是安居客网站,wordpress外链内链Jedis是Redis官方推荐的Java客户端库#xff0c;提供了对Redis数据库的全面支持#xff0c;适用于单机、哨兵及集群模式。作为最老牌的Java Redis客户端#xff0c;其API设计直观#xff0c;与Redis命令高度对应#xff0c;例如set、get等方法与原生命令一致#xff0c;降…Jedis是Redis官方推荐的Java客户端库提供了对Redis数据库的全面支持适用于单机、哨兵及集群模式。作为最老牌的Java Redis客户端其API设计直观与Redis命令高度对应例如set、get等方法与原生命令一致降低了学习成本。 简单使用 引入依赖 dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion5.0.2/version /dependency使用示例 package com.morris.redis.demo.jedis;import redis.clients.jedis.Jedis;import java.util.List; import java.util.Map;/*** jedis的简单使用*/ public class JedisDemo {public static void main(String[] args) {// 创建Jedis实例默认端口6379try (Jedis jedis new Jedis(127.0.0.1, 6380)) {// 若需认证如设置密码// jedis.auth(your_password);// 字符串类型的使用jedis.set(key1, value1); // 设置键值String value jedis.get(key1); // 获取值返回value1jedis.incr(counter); // 自增数值可用于计数器场景// hash类型的使用jedis.hset(user:1, name, John); // 设置哈希字段String name jedis.hget(user:1, name); // 获取字段值MapString, String user jedis.hgetAll(user:1); // 获取全部字段// list类型的使用jedis.rpush(list1, element1, element2); // 右侧插入元素ListString list jedis.lrange(list1, 0, -1); // 获取全部元素String popped jedis.lpop(list1); // 左侧弹出元素// 测试连接System.out.println(连接状态: jedis.ping()); // 输出PONG表示成功} // try-with-resources自动关闭连接} }连接池优化推荐生产环境使用 Jedis使用连接池的核心目的是解决直连模式下的性能瓶颈与资源管理问题。由于每次直连Redis都需新建TCP连接三次握手并在操作后关闭四次挥手高频请求时网络延迟占比可能高达97%而连接池通过复用已建立的连接将单次操作耗时从40ms级降至微秒级。此外Jedis实例非线程安全连接池为每个线程分配独立连接规避多线程竞争风险。 package com.morris.redis.demo.jedis;import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig;/*** jedis连接池的使用*/ public class JedisPoolDemo {public static void main(String[] args) {JedisPoolConfig config new JedisPoolConfig();config.setMaxTotal(400); // 最大连接数config.setMaxIdle(400); // 最大空闲连接config.setMinIdle(100); // 最小空闲连接config.setMaxWaitMillis(5000); // 最大等待5秒config.setTestOnBorrow(false); // 禁用借出检测config.setTestWhileIdle(true); // 开启空闲检测config.setTimeBetweenEvictionRunsMillis(30000); // 每30秒检测空闲连接config.setLifo(false); // 使用FIFO均衡负载try (JedisPool pool new JedisPool(config, 127.0.0.1, 6379)) {Jedis jedis pool.getResource();jedis.set(xx, oo);System.out.println(jedis.get(xx));// 执行操作...jedis.close(); // 归还连接到池}} }与SpringBoot的结合使用 需在pom.xml中添加spring-boot-starter-data-redis和Jedis客户端依赖并排除默认的Lettuce客户端也可以不排除但是需要在配置文件中需要指定client-type。 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId /dependencydependencygroupIdredis.clients/groupIdartifactIdjedis/artifactId /dependency在application.yml中配置Redis服务器地址及连接池参数指定client-type为jedis。 spring:data:redis:host: 127.0.0.1port: 6379 # password: your_passwordjedis:pool:max-active: 200 # 最大活跃连接数max-idle: 100 # 最大空闲连接min-idle: 50 # 最小空闲连接max-wait: 3000ms # 获取连接最大等待时间client-type: jedis # 需要手动指定jedis否则默认是lettuceRedisTemplate序列化配置自定义RedisTemplate以避免默认的JDK序列化问题 package com.morris.redis.demo.jedis;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer;Configuration public class RedisConfig {Beanpublic RedisTemplateString, Object redisTemplate(RedisConnectionFactory factory) {RedisTemplateString, Object template new RedisTemplate();template.setKeySerializer(new StringRedisSerializer());template.setValueSerializer(new GenericJackson2JsonRedisSerializer());template.setConnectionFactory(factory);return template;} }RedisTemplate的使用 package com.morris.redis.demo.jedis;import com.morris.redis.demo.RedisDemoApplication; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.data.redis.core.RedisTemplate;/*** RedisTemplate的使用*/ SpringBootApplication public class JedisSpringBootDemo {public static void main(String[] args) {ConfigurableApplicationContext applicationContext SpringApplication.run(JedisSpringBootDemo.class, args);RedisTemplate redisTemplate (RedisTemplate) applicationContext.getBean(redisTemplate);redisTemplate.opsForValue().set(oo, xx);System.out.println(redisTemplate.opsForValue().get(oo));applicationContext.close();} }jedis哨兵模式的使用 Jedis配置哨兵模式下的Redis地址需通过哨兵节点列表和主节点名称实现并结合连接池参数优化。 spring:data:redis:sentinel:master: mymasternodes: 127.0.0.1:16380,127.0.0.1:16381,127.0.0.1:16382jedis:pool:max-active: 200 # 最大活跃连接数max-idle: 100 # 最大空闲连接min-idle: 50 # 最小空闲连接max-wait: 3000ms # 获取连接最大等待时间client-type: jedis # 需要手动指定jedis否则默认是lettucejedis cluster的使用 配置文件中配置集群节点 spring:data:redis:jedis:pool:max-active: 200 # 最大连接数max-idle: 100 # 最大空闲连接数min-idle: 50 # 最小空闲连接数max-wait: 3000ms # 获取连接的最大等待时间client-type: jedis # 客户端类型使用 jedis默认是 lettuce# redis集群模式cluster:nodes: 127.0.0.1:3001,127.0.0.1:3002,127.0.0.1:3003max-redirects: 5Jedis在初始化时通过cluster slots命令获取集群中所有槽与节点的对应关系并将这些信息缓存在本地JedisClusterInfoCache类中。每次操作时客户端直接根据本地缓存确定Key所属的槽及对应的节点无需依赖服务端重定向。 如果请求发送到错误的节点如槽迁移或节点故障Redis会返回MOVED错误此时Jedis会重新执行cluster slots命令更新本地映射并重试请求。默认最多重试5次超过则抛出Too many cluster redirection异常。 Jedis为每个Redis节点创建独立的连接池JedisPool确保高并发下的资源复用和线程安全。
http://www.pierceye.com/news/348456/

相关文章:

  • 企业网站建设报价方案模板网站建设前期规划方案
  • 做网站美工排版怎样进入公众号平台
  • 福州网站定制设计wordpress多说插件
  • 电脑网站打不开什么原因wordpress api 中文
  • 自己怎么免费做网站网页重庆专业平台推广公司
  • 英文网站建设电话咨询网站推广平台有哪些
  • 在家里组一个服务器做网站有心学做网站
  • 广东企业网站模板推荐flash网址
  • 网站标题正确书写标准h5页面制作平台有哪些
  • 详情页设计与制作网站品牌词优化怎么做
  • 成都科技网站建设咨询电话平面设计品牌设计
  • 网站建设的可行性报告做网站需要了解的知识
  • 高邮网站建设推广怎么做
  • 珠宝网站建设公司wordpress 显示指定分类
  • 站酷网设计素材龙岗网站建设公司哪家口碑好
  • 达州达县网站建设上海网络推广服务公司
  • 周口网站关键词优化助孕网站优化推广
  • 做网站的钱叫什么科目企业做网站的好处有哪些
  • 做外贸网站流程如何建立网上商城
  • 爱网站关键词挖掘广西住房城乡建设厅
  • 零基础网站建设入门到精通视频教程河源建设网站
  • 焦作市建设工程网站石龙网站开发
  • 建公司网站报价牛商网网站建设
  • 中国现代公路建设有限公司网站网站建设技巧饣金手指排名27
  • 食品网站开发的背景阿里云oss建站 直接上传wordpress
  • 石泉政协网站建设方案网络广告推广服务
  • 怎么用lamp做网站桂林网
  • 织梦网站专题页面如何做网站排名优化提升快速
  • 公司建设网站费用吗qq官方网站登录入口
  • 怎么用自己的服务器做网站国外酷炫网站有哪些