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

池州网站建设开发什么是网络设计制作

池州网站建设开发,什么是网络设计制作,wordpress 下载受限,深圳地铁建设集团网站1、java操作Redis库的比较 Redis有各种语言的客户端可以来操作redis数据库#xff0c;其中java语言主要有Jedis与lettuce #xff0c;Spring Data Redis封装了上边两个客户端#xff0c;优缺点如下#xff1a; 2、使用Jedis操作Redis Jedis使用的基本步骤#xff1a; 引…1、java操作Redis库的比较 Redis有各种语言的客户端可以来操作redis数据库其中java语言主要有Jedis与lettuce Spring Data Redis封装了上边两个客户端优缺点如下 2、使用Jedis操作Redis Jedis使用的基本步骤 引入依赖创建Jedis对象建立连接使用Jedis方法名与Redis命令一致释放资源 public class RedisTest {Jedis jedis;BeforeEachpublic void setUp(){//建立连接设置密码选择数据库jedis new Jedis(127.0.0.1,6379);// jedis.auth(123456);jedis.select(0);}Testpublic void testJedis(){String result jedis.set(city, 北京);System.out.println(result);String city jedis.get(city);System.out.println(city);String name jedis.hget(user, name);System.out.println(name);}AfterEachpublic void tearDown(){//释放资源if(jedis!null){jedis.close();}} } 因为Jedis是线程不安全的频繁创建销毁链接也有性能损耗所以可以用Jedis连接池来获取Jedis链接 public class JedisConnectionFactory {private static final JedisPool jedisPool;static{JedisPoolConfig jedisPoolConfig new JedisPoolConfig();jedisPoolConfig.setMaxIdle(8);jedisPoolConfig.setMaxTotal(8);jedisPoolConfig.setMinIdle(0);jedisPoolConfig.setMaxWaitMillis(2000);jedisPool new JedisPool(jedisPoolConfig,127.0.0.1,6379,100,);}public static Jedis getJedis(){return jedisPool.getResource();} } 3、使用SpringDataRedis操作redis数据库 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实现 SpringDataRedis的使用步骤 引入spring-boot-starter-data-redis依赖在application.yml配置Redis信息注入RedisTemplate !-- redis依赖--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId/dependency !-- 连接池--dependencygroupIdorg.apache.commons/groupIdartifactIdcommons-pool2/artifactId/dependency RedisTemplate可以接收任意Object作为值写入Redis只不过写入前会把Object序列化为字节形式默认是采用JDK序列化得到的结果是这样的: 自定义RedisTemplate的序列化方式 Configuration public class SpringDataRedisConfig {Beanpublic RedisTemplateString, Object redisTemplate(RedisConnectionFactory redisConnectionFactory){RedisTemplateString, Object redisTemplate new RedisTemplate();redisTemplate.setConnectionFactory(redisConnectionFactory);GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer new GenericJackson2JsonRedisSerializer();redisTemplate.setKeySerializer(RedisSerializer.string());redisTemplate.setHashKeySerializer(RedisSerializer.string());redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer);redisTemplate.setHashValueSerializer(genericJackson2JsonRedisSerializer);return redisTemplate;} } SpringBootTest public class SpringDataRedisTest {Autowiredprivate RedisTemplate redisTemplate;Testvoid testRedisTemplate(){redisTemplate.opsForValue().set(redis,6.0.9);Object redis redisTemplate.opsForValue().get(redis);System.out.println(redis);User u new User();u.setName(张三);u.setAge(20);redisTemplate.opsForValue().set(com:user,u);Object o redisTemplate.opsForValue().get(com:user);System.out.println(o);} } 返回的是Object 为了节省内存空间我们并不会使用JSON序列化器来处理value而是统一使用String序列化器要求只能存储String类型的key和value。当需要存储Java对象时手动完成对象的序列化和反序列化。 Spring默认提供了一个StringRedisTemplate类它的key和value的序列化方式默认就是String方式 SpringBootTest public class SpringDataRedisTest {Autowired// private RedisTemplate redisTemplate;private StringRedisTemplate redisTemplate;private ObjectMapper objectMapper new ObjectMapper();Testvoid testRedisTemplate() throws JsonProcessingException {redisTemplate.opsForValue().set(redis,6.0.9);Object redis redisTemplate.opsForValue().get(redis);System.out.println(redis);User u new User();u.setName(张三);u.setAge(20);//序列化String s objectMapper.writeValueAsString(u);redisTemplate.opsForValue().set(com:user,s);String o redisTemplate.opsForValue().get(com:user);System.out.println(o);//反序列化User user objectMapper.readValue(o, User.class);} } RedisTemplate的两种序列化实践方案 方案一 自定义RedisTemplate修改RedisTemplate的序列化器为GenericJackson2JsonRedisSerializer 方案二 使用StringRedisTemplate 写入Redis时手动把对象序列化为JSON读取Redis时手动把读取到的JSON反序列化为对象
http://www.hkea.cn/news/14442498/

相关文章:

  • 2018年静安区品牌网站建设优秀网站网页设计
  • 免费做优化的网站百度怎么自己做网站
  • 怎么做pdf电子书下载网站怎样运营推广网站
  • 银行网站开发技术方案盘锦网站建设咨询
  • 打开浏览器直接进入网站手机优化电池充电要开吗
  • 中国有哪些企业网站灰色行业seo
  • 网站建设目标计划书中国风网页设计欣赏
  • 永久域名注册网站营销策划案
  • 侯马建设规划局网站建网站程序下载
  • 沈阳模板 网站建设加强网站建设工作总结
  • 兰州网站seo收费企业网站建设实例
  • 东莞网站建广告设计公司介绍文案
  • 坪地网站建设包括哪些建网站价格
  • 编程开源网站Wordpress漫画插件
  • 做网站图咸阳市建设局网站
  • 徐州市新沂市建设局网站网站建设推广服务费的税率是
  • 科技公司手机端网站wordpress 画面做成
  • 网站建设用哪种语言最好招投标数据统计
  • 钦州市住房和城乡建设局网站网站开发新型技术
  • 做网站开发的公司销售咸阳网站建设专业公司
  • dedecms两网站共享用户名富阳建设局网站电话
  • 长沙商城网站烟台网站建设 58
  • 门户网站规划重庆软件开发
  • 华为商城的网站建设室内设计意向图网站
  • 网站建设 销售 知乎提高网站性能
  • 百度开放云做网站网站模仿
  • 网站建设的功能需求分析百度关键词价格
  • 福田网站建设哪家便宜石家庄网站建设是什么意思
  • 渭南市建设工程招投标信息网网站建设优化服务公司
  • 营销网站设计公司招聘广东企业微信网站建设