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

可以在网上接网站做的网址大学生创新创业点子

可以在网上接网站做的网址,大学生创新创业点子,建设德育网站的意义,广州市网站公司Redis的JAVA客户端 文章目录 Redis的JAVA客户端一、Redis的Java客户端的种类二、Jedis2.1、使用步骤2.2、Jedis连接池 三、[SpringDataRedis](https://spring.io/projects/spring-data-redis)3.1、介绍3.2、RedisTemplate3.3、SpringDataRedis使用步骤3.4、SpringDataRedis的序…Redis的JAVA客户端 文章目录 Redis的JAVA客户端一、Redis的Java客户端的种类二、Jedis2.1、使用步骤2.2、Jedis连接池 三、[SpringDataRedis](https://spring.io/projects/spring-data-redis)3.1、介绍3.2、RedisTemplate3.3、SpringDataRedis使用步骤3.4、SpringDataRedis的序列化方式 四、StringRedisTemplate4.1、解决方法4.2、ObjectMapper介绍4.3、StringRedisTemplate类 五、其它结构的使用 一、Redis的Java客户端的种类 二、Jedis Jedis是一个用于连接和与Redis服务器进行交互的Java客户端库。Redis是一个高性能的内存数据存储系统Jedis允许Java应用程序通过简单的API与Redis进行通信。 dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion4.3.1/version/dependency2.1、使用步骤 获取Jedis连接 //设置主机地址和端口号 Jedis jedis new Jedis(192.168.74.1xx, 6379);给Jedis设置redis密码 // 设置密码认证 jedis.auth(123456);操作 HashMapString,String mapnew HashMap();map.put(id,1);map.put(name,radan);jedis.hset(user:1,map);System.out.println(jedis.hgetAll(user:1));释放连接 jedis.close();2.2、Jedis连接池 Jedis本身就是线程不安全的并且频繁的创建和销毁会有性能的损耗因此推荐使用Jedis连接池代替Jedis的直连方式。JedisPool JedisConnectionFactory 连接池配置类 public class JedisConnectionFactory {private static JedisPool jedisPool null;static {// 配置连接池JedisPoolConfig jedisPoolConfignew JedisPoolConfig();// 最大连接数jedisPoolConfig.setMaxIdle(8);// 最大空闲连接jedisPoolConfig.setMaxIdle(8);// 最小空闲连接jedisPoolConfig.setMinIdle(0);// 设置最长等待时间 msjedisPoolConfig.setMaxWaitMillis(200);jedisPool new JedisPool(jedisPoolConfig,192.168.74.128,6379);}// 获取Jedis对象public static Jedis getJedis(){return jedisPool.getResource();}public static void closeJedis(){jedisPool.close();} }三、SpringDataRedis 3.1、介绍 Spring Data Redis是Spring框架的一个模块用于简化在Java应用程序中与Redis数据库进行交互的过程。它提供了高级别的抽象和易于使用的API使得在Spring应用中使用Redis变得更加容易。 Spring Data Redis的一些关键特点和用途 Redis操作抽象化 Spring Data Redis抽象了与Redis数据库的交互允许你以面向对象的方式操作数据。你可以将Java对象存储在Redis中而不必担心底层的Redis命令。 注解支持 Spring Data Redis支持注解使得在Java类中定义Redis数据模型更加方便。你可以使用注解来标记实体类、字段和方法以指定它们与Redis数据之间的映射关系。 连接池管理 Spring Data Redis集成了连接池管理确保有效地管理Redis连接。这有助于提高性能和资源利用率。 声明式事务 你可以使用Spring的声明式事务管理来确保Redis操作的一致性。这使得在多个Redis命令之间进行原子性操作更加容易。 缓存支持 Spring Data Redis还提供了与Spring框架的缓存抽象集成使得可以轻松地将Redis用作应用程序的缓存存储。 查询支持 该模块允许你使用Spring表达式语言SpEL构建自定义查询以根据不同的条件检索数据。 Pub/Sub支持 Spring Data Redis支持发布/订阅模式允许你创建消息发布者和订阅者以便实现实时消息传递。 3.2、RedisTemplate SpringDataRedis中提供了RedisTemplate工具类其中封装了各种对Redis的操作。并且将不同数据类型的操作API封装到了不同的类型当中 3.3、SpringDataRedis使用步骤 SpringBoot已经提供了对SpringBootDataRedis的支持使用非常方便 引入依赖 !-- redis依赖 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId/dependency!-- 连接池依赖 --dependencygroupIdorg.apache.commons/groupIdartifactIdcommons-pool2/artifactIdversion2.11.1/version/dependency配置文件 spring:redis:host: 192.168.74.128port: 6379password: 123456lettuce:pool:max-active: 8 # 最大连接max-idle: 8 # 最大空闲连接max-wait: 100 # 最小等待时间min-idle: 0 # 连接等待时间注入RedisTemplate Autowiredprivate RedisTemplate redisTemplate;测试 void test001(){// 插入一条数据redisTemplate.opsForValue().set(name,李四);// 读取一条数据Object name redisTemplate.opsForValue().get(name);System.out.println(namename);}解决方法 3.4、SpringDataRedis的序列化方式 可以自定义RedisTemplate的序列化方式代码如下 引入依赖 dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactId/dependency编写配置类 要求RedisTemplate对象的键使用String类型值使用Object对象类型 Configuration public class RedisConfig {Beanpublic RedisTemplateString,Object redisTemplate(RedisConnectionFactory connectionFactory){// 创建RedisTemplate对象RedisTemplateString,Object redisTemplate new RedisTemplate();// 设置连接工厂redisTemplate.setConnectionFactory(connectionFactory);// 创建JSON序列化工具GenericJackson2JsonRedisSerializer jsonRedisSerializer new GenericJackson2JsonRedisSerializer();// 设置Key的序列化redisTemplate.setKeySerializer(RedisSerializer.string());redisTemplate.setHashKeySerializer(RedisSerializer.string());// 设置Value的序列化redisTemplate.setValueSerializer(jsonRedisSerializer);redisTemplate.setHashValueSerializer(jsonRedisSerializer);// 返 回return redisTemplate;}}测试结果 Testvoid test002(){// 插入一条数据redisTemplate.opsForValue().set(user:20,new User(张三,28));// 读取一条数据Object name redisTemplate.opsForValue().get(user:20);System.out.println(namename);}这样也有缺点为了在反序列化时知道对象的类型JSON序列化器会将类的class类型写入json结果中存入redis会带来额外的开销。 四、StringRedisTemplate 解决JSON序列化器会将类的class类型写入json结果中存入redis会带来额外的开销这一问题 4.1、解决方法 为了节省内存空间我们并不会使用JSON序列化器来处理Value而是统一使用String序列化器要求只能存储String类型的key和value。当需要存储Java对象时需要手动完成对象的序列化和反序列化。 Spring默认提供了一个StringRedisTemplate类它的key和value的序列化方式默认就是String方式。省去了我们自义RedisTemplate的过程: 4.2、ObjectMapper介绍 是Java编程语言中常用的库用于将Java对象与JSONJavaScript对象表示法数据之间进行转换。它是Jackson库的一部分提供了一套用于在Java中处理JSON的数据处理工具。 ObjectMapper主要使用方法 // 将Java对象序列化为JSON字符串String jsonString objectMapper.writeValueAsString(person); // 将JSON字符串反序列化为Java对象Person deserializedPerson objectMapper.readValue(jsonString, 需要待转的对象类.class);4.3、StringRedisTemplate类 StringRedisTemplate类的使用 SpringBootTest public class RedisString {Autowiredprivate StringRedisTemplate stringRedisTemplate;//引入ObjectMapperJSON处理类private static final ObjectMapper objectMapper new ObjectMapper();Testvoid testString() throws JsonProcessingException {User user new User(李四, 14);// 1.存数据// 将User对象转换为Json数据String jsonString objectMapper.writeValueAsString(user);System.out.println(jsonString); // {username:李四,age:14}stringRedisTemplate.opsForValue().set(name,jsonString);// 2.取数据String name stringRedisTemplate.opsForValue().get(name);System.out.println(name); // {username:李四,age:14}// 将JSON数据转为对象格式User user1 objectMapper.readValue(name, User.class);System.out.println(user1); // User(username李四, age14)} }之前的问题得到了解决 五、其它结构的使用 Hash结构的使用使用基本没有太大差别更多的是偏向Java代码的这种分格 代码 Testvoid test002(){// 存数据stringRedisTemplate.opsForHash().put(user:23,name,小王);stringRedisTemplate.opsForHash().put(user:23,age,6);// 取一个字段Object name stringRedisTemplate.opsForHash().get(user:23, name);System.out.println(name);// 取所有的字段MapObject, Object objectMap stringRedisTemplate.opsForHash().entries(user:23);System.out.println(objectMap);}测试
http://www.hkea.cn/news/14257558/

相关文章:

  • 湖州专业做网站中铁建设集团门户网站登录
  • 沧州市网站制作公司企业网站建设数据现状分析
  • 电影发布网站模板网站播放视频插件
  • 做教案找资料有哪些网站企业信息查询系统官网山东省
  • dede5.7模板 新闻文章网站源码职场seo是什么意思
  • 查找人网站 优帮云网站建设的关注点
  • 做数据新闻的网站有哪些怎么做租房网站
  • 做的一个网站多少钱手机开发安卓软件
  • 天津地产网站建设公司网站建设与设计制作
  • 微网站用什么软件做打开网站弹出图片代码
  • 十一冶建设集团有限责任公司网站小微企业
  • 制作网页的网站的软件是烟台公司做网站
  • 提升网站长尾关键词排通过网站如何做海外贸易
  • 湖南建设银行2018招聘网站搜索引擎优化网站排名
  • 嘉定做网站佛山营销网站开发怎么选
  • 昆明的房产网站建设好的网站设计特点
  • 温州企业模板建站网网站建设公司咨询
  • 做购物网站能否生存织梦的网站收录不好
  • 网站观赏网站建设 腾
  • 网站建设规划方案论文租凭境外服务器做违规网站
  • 宜昌网站建设开发费用网页线上开发制作
  • 澄海网站建设wordpress 被镜像
  • 苏州网站推广工具桂林在线交流
  • 特色的合肥网站建设南宁做网站的公司
  • 织梦网站建设案例公司网络推广怎么做
  • 网站前端建设wordpress主题包
  • 做手机版网站和做app差别如何建立个人网址
  • 建设学院2级网站的作用番禺网站
  • 可以做哪方面的网站建立新网站要多少钱
  • 天元建设集团有限公司青岛分公司张德平不干了温州网站排名优化