周至县做网站上海企业建站推荐

news/2025/9/24 7:24:26/文章来源:
周至县做网站,上海企业建站推荐,漂亮网站首页 html,个人备案 网站内容使用数据库的时候#xff0c;我们可以用JDBC来实现mysql数据库与java程序之间的通信#xff0c;为了提高通信效率#xff0c;我们有了数据库连接池比如druid等等。而我们想通过Java程序控制redis#xff0c;同样可以借助一些工具来实现#xff0c;这就是redis客户端#…使用数据库的时候我们可以用JDBC来实现mysql数据库与java程序之间的通信为了提高通信效率我们有了数据库连接池比如druid等等。而我们想通过Java程序控制redis同样可以借助一些工具来实现这就是redis客户端常见的有Jedis、lettuce、redisson等等这几个工具各有优缺点而且应用都比较多所以我们分三篇逐步来看。 Jedis 是一个功能强大、易用性高的 Redis 客户端库适用于 Java 开发人员在项目中连接和操作 Redis 服务器。接下来将介绍 Jedis 的使用方法和示例。 目录 1. Jedis介绍与安装测试 2.Jedis的基本操作体验 1.设置和获取字符串类型的键值对 2.判断键是否存在 3.删除键 4.设置键的过期时间 3.Jedis的数据类型操作 1.字符串类型 2.列表类型 3.集合类型 4.哈希类型 5.有序集合类型 4. Jedis 的事务操作 1.开启和提交事务 2.回滚事务 3.监视键 5. Jedis 的发布订阅操作 1.发布消息 2.订阅消息 6. Jedis 的管道操作 7. Jedis 的连接池配置和使用 8. Jedis 的异常处理 1. 处理连接异常 2. 处理命令执行异常 9.Jedis 的性能优化 1. Jedis介绍与安装测试 Jedis 是一个流行的 Java 编写的 Redis 客户端库它提供了连接和操作 Redis 服务器的功能。Jedis具有以下特点 简单易用Jedis 提供了简洁的 API方便开发人员使用减少了连接和操作 Redis 的复杂性。不过呢简单也意味一些高级不能不支持的这个与后面的客户端对比就知道了高性能Jedis 是通过直接与 Redis 服务器进行通信来实现操作的因此具有较高的性能。支持多种数据类型Jedis 支持操作 Redis 的各种数据类型包括字符串、哈希、列表、集合、有序集合等。支持事务和管道Jedis 提供了事务和管道的支持可以将多个操作打包成一个原子操作提高了操作的效率。支持连接池Jedis 支持连接池可以复用连接避免频繁建立和关闭连接的开销提高了性能。 如果我们想在通过java 来管理redis可以按照下面的方式进行 首先下载 Jedis Jedis 的源代码托管在 Github 上如果想看源码可以直接从这里下载。如果要直接使用可以通过 Maven 或 Gradle 添加 Jedis 的依赖即可。 在 pom.xml 文件中添加以下内容 dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion2.10.0/version /dependency版本一直在更新Jedis是Java语言的Redis客户端库它的版本号可以通过查看Jedis的Maven依赖或者JAR包的版本信息来获取。以下是一些常见的Jedis版本号范例 Jedis 2.x版本例如2.10.0、2.9.0等。Jedis 3.x版本例如3.6.0、3.5.2等。 这里我们使用应用比较多的2.10.0版本。 然后我们可以在代码里配置Redis服务器的地址和端口 在 Java 程序中需要提供 Redis 服务器的地址和端口以便 Jedis 能够连接到 Redis。以下是一段示例代码 public static void main(String[] args) {Jedis jedis new Jedis(localhost, 6379);// 测试连接System.out.println(Connection Successful);System.out.println(Server is running: jedis.ping());} 然后执行可以看到如下信息就说明已经安装成功了: Connection Successful Server is running: PONG 在这里我们创建了一个新的 Jedis 对象然后提供了 Redis 服务器的地址“localhost”和默认端口6379。然后调用 jedis.ping() 来测试与 Redis 服务器的连接。 如果 Redis 服务器需要密码验证可以在连接时添加密码参数  Jedis jedis new Jedis(localhost, 6379); jedis.auth(password);使用的时候将上面的“password” 换成你的 Redis 服务器的密码即可。 配置完成后就可以通过 Jedis 连接和操作 Redis 服务器了。在实际工程中我们会将连接信息写在配置文件里来集中管理这里为了简单 我们直接用程序写死了。 接下来将介绍 Jedis 的常用操作方法和示例。 2.Jedis的基本操作体验 1.设置和获取字符串类型的键值对 以下是如何使用 Jedis 的 set 和 get 方法来设置和获取字符串类型的键值对的例子 jedis.set(mykey, 海涛);String value jedis.get(mykey);System.out.println(Stored string in redis:: value); 输出结果为 Stored string in redis:: 海涛 2.判断键是否存在 可以使用 exists 方法来检查一个键是否存在。以下是一个例子 // 判断是否存在boolean keyExists jedis.exists(mykey);System.out.println(Does key mykey exists? keyExists); 3.删除键 可以使用 del 方法来删除一个键。以下是一个例子 jedis.del(mykey);此时如果我们再使用上面的代码判断key是否存在就会发现此时返回的是 false。 4.设置键的过期时间 可以使用 expire 方法来为一个键设置过期时间以秒为单位。以下是一个例子 jedis.set(mykey, 海涛);jedis.expire(mykey, 60); // 这个键将在60秒后过期 3.Jedis的数据类型操作 我们在前面通过redis-cli客户端来操作redis的几种类型接下来我们就看一下如何通过jedis来操作这些类型。 1.字符串类型 字符串类型是最简单也是最重要的的方式我们可以直接使用set来设置一个也可以使用mset来设置多个例如 jedis.set(key, 海涛); // 设置字符串类型的键值对 String value jedis.get(key); // 获取字符串类型的键对应的值// 批量设置字符串类型的键值对 jedis.mset(key1, 海涛, key2, 江涛);// 批量获取字符串类型的键对应的值 ListString values jedis.mget(key1, key2);输出结果 value:海涛 values[海涛, 江涛] 2.设置和获取字符串类型的键值对 jedis.set(mykey, myvalue); String value jedis.get(mykey); System.out.println(Stored string in redis:: value);3.批量设置和获取键值对 jedis.mset(key1, 海涛, key2, 江涛); ListString values jedis.mget(key1, key2);2.列表类型 我们可以通过jedis的api接口来调用名称与命令非常类似 public static void testList( Jedis jedis){// 添加元素到列表头部和尾部jedis.lpush(list, element1, element2); // 头部添加jedis.rpush(list, element3, element4); // 尾部添加// 获取列表的长度Long length jedis.llen(list);System.out.println(length);// 获取指定范围内的元素ListString elements jedis.lrange(list, 0, -1); // 获取所有元素System.out.println(elements);} 添加元素到列表头部和尾部 jedis.lpush(mylist, element1, element2); jedis.rpush(mylist, element3);获取列表的长度 Long length jedis.llen(mylist);获取指定范围内的元素 ListString elements jedis.lrange(mylist, 0, -1);3.集合类型 集合类型是一种非常常见的类型基本使用方式如下 public static void testSet(Jedis jedis) {// 添加元素到集合jedis.sadd(set, element1, element2);// 获取集合的大小Long size jedis.scard(set);System.out.println(size size);// 判断元素是否存在于集合中boolean exists jedis.sismember(set, element1);System.out.println(exists);} 添加元素到集合 jedis.sadd(myset, element1, element2);获取集合的大小 Long size jedis.scard(myset);判断元素是否存在于集合中 boolean exists jedis.sismember(myset, element1);4.哈希类型 hash是实现缓存的重要类型使用jedis操作哈希的代码如下 // 设置和获取哈希字段的值 jedis.hset(hash, field1, value1); String value jedis.hget(hash, field1);// 获取哈希中所有字段和值 MapString, String hash jedis.hgetAll(hash);设置和获取哈希字段的值 jedis.hset(myhash, field1, value1); String value jedis.hget(myhash, field1);获取哈希中所有字段和值 MapString, String allFieldsAndValues jedis.hgetAll(myhash);5.有序集合类型 使用jedis进行有序集合的操作如下 // 添加元素到有序集合 jedis.zadd(zset, 1, member1); jedis.zadd(zset, 2, member2);// 获取有序集合的成员和分数 SetTuple membersWithScores jedis.zrangeWithScores(zset, 0, -1);// 根据分数范围获取有序集合的成员 SetString membersInRange jedis.zrangeByScore(zset, 1, 2);添加元素到有序集合 jedis.zadd(myzset, 1, element1); jedis.zadd(myzset, 2, element2);获取有序集合的成员和分数 SetString elements jedis.zrange(myzset, 0, -1);根据分数范围获取有序集合的成员 SetString elements jedis.zrangeByScore(myzset, 1, 2);4. Jedis 的事务操作 Jedis是Redis的Java客户端库它提供了丰富的API来操作Redis数据库。在Jedis中可以使用事务操作来执行一系列的Redis命令并保证这些命令的原子性。 1.开启和提交事务 在 Jedis 中可以使用 multi() 方法来开启一个事务然后使用 exec() 方法来提交事务。在这两个方法之间的所有命令都会被放入事务队列中等待 exec() 方法的调用。 Transaction t jedis.multi(); t.set(foo, bar); t.exec();2.回滚事务 Jedis 提供了 discard() 方法来回滚事务。注意只有当在调用 multi() 方法之后还没有调用 exec() 方法之前才可以调用 discard() 方法。 Transaction t jedis.multi(); t.set(foo, bar); t.discard();3.监视键 watch() 方法可以用来监视一个或多个键如果在事务执行之前这些键被其他命令所改变那么事务将被打断。 jedis.watch(foo); Transaction t jedis.multi(); t.set(foo, bar); t.exec();5. Jedis 的发布订阅操作 Jedis是 提供了丰富的功能来与Redis进行交互。其中发布订阅是Jedis库的一项重要功能允许客户端在订阅频道时接收发布到频道的消息。 1.发布消息 在 Jedis 中可以使用 publish() 方法来发布消息。第一个参数是频道的名称第二个参数是消息的内容。 Jedis jedis new Jedis(localhost, 6379); String channel myChannel; String message Hello subscribers!; jedis.publish(channel, message); jedis.close();2.订阅消息 订阅消息需要创建一个 JedisPubSub 对象并重写它的 onMessage() 方法。然后使用 subscribe() 方法来订阅一个或多个频道。 Jedis jedis new Jedis(localhost, 6379); JedisPubSub jedisPubSub new JedisPubSub() {Overridepublic void onMessage(String channel, String message) {System.out.println(Received message: message from channel: channel);} }; String channel myChannel; jedis.subscribe(jedisPubSub, channel); jedis.close();定义了一个JedisPubSub对象该对象覆盖了onMessage方法用于处理接收到的消息。然后指定要订阅的频道名称并使用subscribe方法进行订阅。 需要注意的是subscribe方法是阻塞的它会一直等待直到接收到消息。因此在实际应用中通常会将订阅操作放在单独的线程中进行以避免阻塞主线程。 在订阅消息后如果需要取消订阅可以使用unsubscribe方法。 jedis.unsubscribe(jedisPubSub, channel);6. Jedis 的管道操作 Jedis提供了管道pipeline操作来批量执行多个命令以减少网络延迟和提高性能。管道操作允许在客户端一次性发送多个命令到Redis服务器并在服务器端依次执行这些命令最后将结果一次性返回给客户端。 使用Jedis进行管道操作的步骤如下 创建Jedis对象首先创建一个Jedis对象来与Redis服务器进行通信。开启管道通过调用Jedis对象的pipelined()方法来开启管道。执行命令使用Jedis对象执行需要批量执行的命令。可以使用Jedis对象的各种命令方法如set()、get()等。提交管道通过调用Jedis对象的sync()方法来提交管道操作。这将一次性将所有命令发送到Redis服务器执行并返回所有命令的结果。关闭Jedis对象最后记得关闭Jedis对象以释放资源。在Jedis中可以使用管道Pipeline来批量执行多个命令以提高命令执行的效率。管道通过将多个命令打包在一起发送到Redis服务器从而减少了网络I/O的开销。 使用Jedis管道的简单示例 Pipeline pipeline jedis.pipelined();for (int i 0; i 100; i) {pipeline.set(key i, value i); }pipeline.sync();创建了一个Pipeline对象然后连续调用了100次set()方法。调用sync()方法会将之前调用的所有命令一次性发送到Redis服务器。 管道中的命令不保证原子性也就是说如果管道中的某个命令执行失败不会影响到其他命令的执行。如果需要保证一组命令的原子性应该使用Redis的事务功能。 此外管道中的命令默认是不会立即返回结果的如果需要获取命令的返回结果可以使用syncAndReturnAll()方法来替代sync()方法。这将返回一个List其中包含了管道中每个命令的返回结果。 使用Jedis进行管道操作的示例代码 Jedis jedis new Jedis(localhost, 6379); Pipeline pipeline jedis.pipelined();// 执行多个命令 pipeline.set(key1, value1); pipeline.get(key1); pipeline.hset(hashKey, field1, value2);// 提交管道 ListObject results pipeline.syncAndReturnAll();// 处理结果 for (Object result : results) {System.out.println(result); }// 关闭Jedis对象 jedis.close();创建了一个Jedis对象并通过调用pipelined()方法开启了管道。执行三个命令设置一个字符串类型的键值对、获取该键的值以及设置一个哈希类型的字段值对。最后通过调用syncAndReturnAll()方法提交管道操作并返回了所有命令的结果。 可以通过遍历结果列表来处理每个命令的返回值。最后记得关闭Jedis对象以释放资源。 使用管道操作可以显著提高性能特别是在需要批量执行多个命令时。然而需要注意的是管道操作是无法使用事务的。如果需要支持事务操作可以考虑使用Redis的事务功能。 7. Jedis 的连接池配置和使用 在实际使用中通常会使用连接池来管理Jedis连接。Jedis的连接池使用Apache Commons Pool2实现。 基本过程是 创建了一个JedisPoolConfig对象并设置了各种连接池参数。然后使用这个配置对象以及Redis服务器的地址和端口创建了一个JedisPool对象。 在需要使用Jedis连接的地方使用getResource()方法从连接池中获取一个Jedis连接。这个连接使用完毕后Jedis会自动将其归还到连接池中。 注意在获取Jedis连接时使用了Java的try-with-resources语句这样可以确保无论是否发生异常Jedis连接都会被正确关闭。 配置和使用Jedis连接池的示例 1.配置连接池参数 JedisPoolConfig poolConfig new JedisPoolConfig(); // 最大连接数 poolConfig.setMaxTotal(128); // 最大空闲连接数 poolConfig.setMaxIdle(64); // 最小空闲连接数 poolConfig.setMinIdle(10); // 获取连接时的最大等待毫秒数 poolConfig.setMaxWaitMillis(2000); // 在获取连接的时候检查有效性 poolConfig.setTestOnBorrow(true);2.创建Jedis连接池 JedisPool jedisPool new JedisPool(poolConfig, localhost, 6379);从连接池中获取Jedis连接的代码如下 try (Jedis jedis jedisPool.getResource()) {// 使用Jedis连接执行命令jedis.set(key, value);System.out.println(jedis.get(key)); } catch (Exception e) {// 异常处理 }8. Jedis 的异常处理 处理Jedis连接或命令执行异常的一般方法是使用try/catch块来捕获并处理这些异常。 在使用Jedis时我们需要对连接异常和命令执行异常进行适当的处理。 1. 处理连接异常 在创建连接池对象时可以设置连接超时时间和读写超时时间以及设置连接失败重试次数。 在获取Jedis连接对象时可以捕获JedisConnectionException异常来处理连接异常例如重新获取连接或进行其他操作。 在使用Jedis连接对象进行Redis操作时如果发生连接异常可以捕获JedisConnectionException异常并根据具体情况进行处理例如重新获取连接或进行其他操作。 示例代码如下 JedisPoolConfig config new JedisPoolConfig(); config.setMaxTotal(100); config.setMaxIdle(50); config.setMinIdle(10); config.setTestOnBorrow(true); config.setTestOnReturn(true);JedisPool jedisPool new JedisPool(config, localhost, 6379, 5000, password);Jedis jedis null; try {jedis jedisPool.getResource();// 进行Redis操作 } catch (JedisConnectionException e) {// 处理连接异常例如重新获取连接或进行其他操作 } finally {if (jedis ! null) {jedis.close();} }Jedis连接异常通常是由于网络问题或者Redis服务器问题引起的。当尝试获取一个Jedis连接或者使用一个已经获取的连接进行操作时都可能触发这种异常。 2. 处理命令执行异常 当尝试执行一个无效的Redis命令或者传递给命令的参数不正确时Jedis会抛出一个JedisDataException。 Jedis jedis new Jedis(localhost, 6379); try {jedis.hset(key, field, value); } catch (JedisDataException e) {// 命令执行异常处理 } finally {jedis.close(); }如果hset命令的参数不正确例如key不存在或者field已经存在那么会抛出一个JedisDataException。需要捕获并处理这个异常。 在使用Jedis连接对象执行Redis命令时可能会发生JedisDataException异常例如命令格式不正确或参数类型不匹配等。在使用Jedis连接对象执行Redis命令时也可能会发生JedisException异常例如Redis服务器出现问题或连接被关闭等。在捕获这些异常时可以根据具体情况进行处理例如打印错误信息、回滚事务或进行其他操作。 示例代码如下 try {jedis.set(key, value); } catch (JedisDataException e) {// 处理命令执行异常例如命令格式不正确或参数类型不匹配等 } catch (JedisException e) {// 处理命令执行异常例如Redis服务器出现问题或连接被关闭等 }9.Jedis 的性能优化 使用连接池在并发环境下频繁地建立和释放连接会消耗大量的系统资源影响应用性能。Jedis提供了连接池功能可以复用已经建立的连接减少连接的开销。 JedisPool pool new JedisPool(new JedisPoolConfig(), localhost); Jedis jedis null; try {jedis pool.getResource();// 使用jedis进行Redis操作 } finally {if (jedis ! null) {jedis.close(); // 实际上是将连接返还给连接池而不是关闭连接} }批量执行命令如果需要执行多个Redis命令那么可以使用Jedis的管道Pipeline功能一次性发送所有命令然后一次性接收所有结果。这样可以避免每次命令执行都需要进行一次网络通信。 Jedis jedis new Jedis(localhost); Pipeline pipeline jedis.pipelined(); pipeline.set(key1, value1); pipeline.set(key2, value2); pipeline.sync();在上述代码中两个set命令会一次性发送到Redis服务器然后sync方法会一次性接收两个命令的结果。这样可以避免每次命令执行都需要进行一次网络通信减少了网络开销。 使用正确的数据结构和命令Redis提供了多种数据结构和命令根据具体的业务需求选择最合适的数据结构和命令可以大大提高性能。避免长时间操作对于耗时较长的操作尽量避免在主线程中执行可以考虑使用异步处理或者使用多线程处理。适当使用持久化根据业务需求可以选择适当的持久化策略例如RDB或者AOF。RDB性能较高但是可能会丢失最近一段时间的数据AOF性能较低但是数据更安全。尽量避免使用Keys命令Keys命令会遍历整个数据库对性能影响较大。尽量使用Scan命令代替。   示例 import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import redis.clients.jedis.Pipeline;public class JedisExample {public static void main(String[] args) {// 创建Jedis实例连接本地RedisJedis jedis new Jedis(localhost);// 设置键值jedis.set(key, value);// 获取键值System.out.println(jedis.get(key));// 使用连接池JedisPool pool new JedisPool(new JedisPoolConfig(), localhost);Jedis jedisFromPool null;try {jedisFromPool pool.getResource();// 使用jedisFromPool进行Redis操作jedisFromPool.set(key1, value1);System.out.println(jedisFromPool.get(key1));} finally {if (jedisFromPool ! null) {jedisFromPool.close(); // 实际上是将连接返还给连接池而不是关闭连接}}// 使用PipelinePipeline pipeline jedis.pipelined();pipeline.set(key2, value2);pipeline.set(key3, value3);pipeline.sync(); // 一次性发送所有命令// 关闭Jedisjedis.close();} }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/915194.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

汕头网站建设推广方法WordPress多功能新闻积分商城主题

ylbtech-Vue.js:路由1.返回顶部 1、Vue.js 路由 本章节我们将为大家介绍 Vue.js 路由。 Vue.js 路由允许我们通过不同的 URL 访问不同的内容。 通过 Vue.js 可以实现多视图的单页Web应用(single page web application,SPA)。 Vue.…

网站模板素材青海网站建设有哪些

随着公司的发展和市场竞争的影响,越来越多的创业者希望注册一家好名称的公司,以提高企业知名度和竞争力。但是,注册中字头无地域公司需要满足一定的条件和流程。本文将对中字头无地域公司注册条件及流程进行详细的介绍。可以致电咨询我或者来…

昆明网站的优化免费开网店的app

组件的自定义事件 一种组件间通讯的方式&#xff0c;适用于&#xff1a;子组件 —> 父组件 绑定自定义事件 第一种方式:在父组件中写单标签1.<Demo 事件名"方法">2.<Demo v-on:事件名"方法"/>第二种方式:使用ref绑定(配置在生命周期中)this…

无锡哪里有建设网站建设一个视频教学网站

当我们有了一台属于自己的服务器的时候&#xff0c;想远程桌面连接到服务器&#xff0c;怎么连接呢&#xff0c;下面来分享一下方法&#xff01; 准备工作:服务器(服务器ip&#xff0c;端口&#xff0c;账号密码) 个人电脑 第一步在我们的电脑上面按winR键打开运行&#xff0…

网站的网络设计公司android studio下载官网

目录 方法一&#xff1a;同源使用标签下载图片 方法二&#xff1a;跨域使用将canvas上的内容转换为Blob对象并下载 在前端开发中&#xff0c;有时候我们需要实现点击图片后直接下载的功能。本文将介绍两种方法来实现这一功能&#xff1a; 同源使用<a>标签下载图片跨域使…

2025年国家科技奖初评公布(自然科学奖)

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087 添加图片注释,不超过 140 字(可选) 添加图片注释,不超过 140…

别人做的网站需要提供些什么给我们十大直播禁止下载的软件

题目&#xff1a; 题目背景 OURCE&#xff1a;NOIP2015-SHY-7 题目描述 求一棵带边权的树的一条最大 Xor 路径的值。这里的“路径”不一定从根到叶子结点&#xff0c;中间一段路径只要满足条件也可以。 输入格式 第一行&#xff0c;一个整数 N &#xff0c;表示一颗树有 N 个节…

旅游网站建设风格沈阳建设工程信息网 专家中项网

继续《SAS编程与数据挖掘商业案例》学习笔记系列&#xff0c;本次重点&#xff1a;常用全程语句 所谓全程语句&#xff0c;是指可以用在任何地方的sas语句&#xff0c;既可以用在data数据步语句里面&#xff0c;也可以用在proc过程步里面&#xff0c;甚至可以单独使用&#xff…

广州网站建设(信科分公司)教育机构网站建设加盟

1&#xff0c;实现链表中节点的比较。 在C语言中&#xff0c;链表是一种常见的数据结构&#xff0c;用于存储一系列的数据元素。每个节点包含数据和指向下一个节点的指针。比较两个链表节点的操作取决于具体需求。如果想比较两个节点中的数据&#xff0c;可以写一个函数来实现这…

平板网站开发wordpress 文章别名

问题 时序数据库 IoTDB 如果在数据插入时未指定属性值的类型&#xff0c;而后期需要将原本推断为 INT32 类型的数据强制转换为 TEXT 类型&#xff0c;应如何处理&#xff1f;如果字段类型不支持直接修改&#xff0c;是否有其他方案可以实现字段类型的调整&#xff1f;如何将设…

单位门户网站是什么意思wordpress头像怎么修改

首先SSH是啥&#xff0c;维基一下&#xff1a;Secure Shell&#xff08;安全外壳协议&#xff0c;简称SSH&#xff09;是一种加密的网络传输协议&#xff0c;可在不安全的网络中为网络服务提供安全的传输环境[1]。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接…

短视频seo排名系统网站标题优化技巧

【题目描述】学校进行成绩分级管理&#xff0c;取消分数制&#xff0c;改为成绩分级评定。具体办法是&#xff1a;小于60分为E类&#xff1b;60分至70分&#xff08;不含70分&#xff09;为D类&#xff1b;70分至80分&#xff08;不含&#xff09;为C类&#xff1b;80分至90分&…

手机直接看的网站有哪些做除尘骨架的网站

现象&#xff1a;文件编码格式为 UTF-8 不带签名编码格式&#xff0c;模块索引会出现 模块无法找到异常 更改文件类型为 UTF-8 带签名格式或 vs 默认 GBK2312 编码格式

百度 网站地图怎么做手机上怎么建网站

大家好&#xff0c;我是烤鸭&#xff1a; 今天分享一下基础排序算法之直接插入排序。 1. 直接插入排序&#xff1a; 原理&#xff1a;假设前面的数为有序数列&#xff0c;然后有序数列与无序数列的每个数比较&#xff0c;我们可以从右向左比较 思路&#xff1a;从第2…

建设造价信息网站石家庄网站外包公司

在日常的Web开发中&#xff0c;处理表单数据是一个常见的任务。而XML是一种常用的数据格式&#xff0c;用于在不同的系统之间传递和存储数据。本文通过阐述一个技术问题并给出解答的方式&#xff0c;介绍如何使用Python和正则表达式处理XML表单数据。我们将探讨整体设计、编写思…

JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程

NumPy作为Python数值计算领域的基础框架,凭借其强大的N维数组结构和丰富的函数生态系统,成为科学家、工程师和数据分析师的核心工具。然而,随着计算需求的快速增长,特别是在机器学习和大规模科学模拟领域,NumPy基…

电商平台网站模板想建网站

1、下载jspdf插件包 npm i jspdf2、在utils文件夹下创建一个单独的文件&#xff08;名字无具体要求&#xff09; // 页面导出为pdf格式&#xff0c;title表示为下载的标题&#xff0c;html表示要下载的页面 import html2Canvas from html2canvas // 不用单独去下载这个包&…

linux系统怎么做网站网站seo诊断分析报告

编写程序&#xff0c;实现一个具有开户、查询、取款、存款、转账、锁定、解锁、退出功能的银行管理系统。 结果展示 1.Main主方法 from zzjmxy.class7.atm import ATM from zzjmxy.class7.manager import Manager # 主面板&#xff0c;实现主要逻辑if __name__"__main__…

帝国cms网站迁移下载代码的网站

近年来&#xff0c;燃气爆炸事故频发&#xff0c;造成了重大人员伤亡和财产损失。这也再次为我们敲响警钟&#xff0c;燃气是我们日常生活中不可或缺的能源&#xff0c;但其潜在的危险性也是不容小觑。因此在重要节点加装燃气阀井气体监测仪&#xff0c;并将数据上传到系统平台…

网站首页成品在线直播网站建设

官方glTF模型案例 obj2gltf 的开发文档 第一步&#xff1a;这里首先要将我们的.obj文件转换为.gltf文件 全局安装 npm install -g obj2gltf终端打开.obj文件所在的文件夹执行 obj2gltf -i model.obj -o model.gltf -t &#xff08;-i model.obj对应你的obj文件的名字&#x…