建筑设计网站issuu邮件营销 wordpress

web/2025/9/26 1:15:57/文章来源:
建筑设计网站issuu,邮件营销 wordpress,公司企业网站制作教程,php网站开发招聘需求分析学习目标 redis 概念下载安装命令操作 1. 数据结构持久化操作使用Java客户端操作redis Redis 前言(从百度上抄的, 看看了解一下, 懒得排版了) 1. 概念#xff1a; redis是一款高性能的NOSQL系列的非关系型数据库1.1.什么是NOSQLNoSQL(NoSQL Not Only SQL)#xff0c;意即…学习目标 redis 概念下载安装命令操作 1. 数据结构持久化操作使用Java客户端操作redis Redis 前言(从百度上抄的, 看看了解一下, 懒得排版了) 1. 概念 redis是一款高性能的NOSQL系列的非关系型数据库1.1.什么是NOSQLNoSQL(NoSQL Not Only SQL)意即“不仅仅是SQL”是一项全新的数据库理念泛指非关系型的数据库。随着互联网web2.0网站的兴起传统的关系数据库在应付web2.0网站特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心暴露了很多难以克服的问题而非关系型的数据库则由于其本身的特点得到了非常迅速的发展NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战尤其是大数据应用难题。1.1.1. NOSQL和关系型数据库比较优点1成本nosql数据库简单易部署基本都是开源软件不需要像使用oracle那样花费大量成本购买使用相比关系型数据库价格便宜。2查询速度nosql数据库将数据存储于缓存之中关系型数据库将数据存储在硬盘中自然查询速度远不及nosql数据库。3存储数据的格式nosql的存储格式是key,value形式、文档形式、图片形式等等所以可以存储基础类型以及对象或者是集合等各种格式而数据库则只支持基础类型。4扩展性关系型数据库有类似join这样的多表查询机制的限制导致扩展很艰难。缺点1维护的工具和资料有限因为nosql是属于新的技术不能和关系型数据库10几年的技术同日而语。2不提供对sql的支持如果不支持sql这样的工业标准将产生一定用户的学习和使用成本。3不提供关系型数据库对事务的处理。1.1.2. 非关系型数据库的优势1性能NOSQL是基于键值对的可以想象成表中的主键和值的对应关系而且不需要经过SQL层的解析所以性能非常高。2可扩展性同样也是因为基于键值对数据之间没有耦合性所以非常容易水平扩展。1.1.3. 关系型数据库的优势1复杂查询可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。2事务支持使得对于安全性能很高的数据访问要求得以实现。对于这两类数据库对方的优势就是自己的弱势反之亦然。1.1.4. 总结关系型数据库与NoSQL数据库并非对立而是互补的关系即通常情况下使用关系型数据库在适合使用NoSQL的时候使用NoSQL数据库让NoSQL数据库对关系型数据库的不足进行弥补。一般会将数据存储在关系型数据库中在nosql数据库中备份存储关系型数据库的数据1.2.主流的NOSQL产品• 键值(Key-Value)存储数据库相关产品 Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB典型应用 内容缓存主要用于处理大量数据的高访问负载。 数据模型 一系列键值对优势 快速查询劣势 存储的数据缺少结构化• 列存储数据库相关产品Cassandra, HBase, Riak典型应用分布式的文件系统数据模型以列簇式存储将同一列数据存在一起优势查找速度快可扩展性强更容易进行分布式扩展劣势功能相对局限• 文档型数据库相关产品CouchDB、MongoDB典型应用Web应用与Key-Value类似Value是结构化的数据模型 一系列键值对优势数据结构要求不严格劣势 查询性能不高而且缺乏统一的查询语法• 图形(Graph)数据库相关数据库Neo4J、InfoGrid、Infinite Graph典型应用社交网络数据模型图结构优势利用图结构相关算法。劣势需要对整个图做计算才能得出结果不容易做分布式的集群方案。什么是Redis 概述 Redis是用C语言开发的一个开源的高性能键值对key-value数据库官方提供测试数据50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s 且Redis通过提供多种键值数据类型来适应不同场景下的存储需 目前为止Redis支持的键值数据类型如下 字符串类型 string哈希类型 hash列表类型 list集合类型 set有序集合类型 sortedset redis的应用场景 • 缓存数据查询、短连接、新闻内容、商品内容等等 • 聊天室的在线好友列表 • 任务队列。秒杀、抢购、12306等等 • 应用排行榜 • 网站访问统计 • 数据过期处理可以精确到毫秒 • 分布式集群架构中的session分离下载安装 1. 官网(国外网站网速不友好) 2. 国内中文网 3. 下载绿色压缩包就可以解压直接可以使用 4. redis目录结构如下: * redis.windows.conf配置文件 * redis-cli.exeredis的客户端 * redis-server.exeredis服务器端 * 另外几个使用来对redis进行配置优化操作(就不提了) * 注: redis默认的端口是6379, 可以使用conf进行修改 使用命令对redis的数据进行增删改查 redis的数据结构 redis存储的是key,value格式的数据其中key都是字符串value有5种不同的数据结构. value的数据结构 字符串类型: string(一个key只能对应一个String)哈希类型 hash map格式(一个key可以对应多个map)列表类型 list linkedlist格式(类似于管道, 一个key对应一个管道, 一个管道中可以多个数据, 因此一个key可以对应多个list)。支持重复元素集合类型 set ()不允许重复元素有序集合类型 sortedset不允许重复元素且元素有顺序 注: 不要把key与value搞混, 特别是哈希类型, 针对hash类型, 就记住一个大map中存一个小map 使用命令操作redis数据进行增删改查: 字符串类型 string 存储 set key value 127.0.0.1:6379 set username zhangsan 运行结果: OK 获取 get key 127.0.0.1:6379 get username 运行结果: “zhangsan”删除 del key 127.0.0.1:6379 del age 运行结果: (integer) 1 //表示对数据的操作个数 哈希类型 hash 存储 hset key field value 127.0.0.1:6379 hset myhash username lisi 运行结果: (integer) 1 127.0.0.1:6379 hset myhash password 123 运行结果: (integer) 1 获取 hget key field: 获取指定的field对应的值 127.0.0.1:6379 hget myhash username “lisi”hgetall key获取所有的field和value 127.0.0.1:6379 hgetall myhash 运行结果: username lisi password 123删除 hdel key field 127.0.0.1:6379 hdel myhash username (integer) 1 列表类型 list:可以添加一个元素到列表的头部左边或者尾部右边 添加 push key value: 将元素加入列表左表 rpush key value将元素加入列表右边 127.0.0.1:6379 lpush myList a 运行结果: (integer) 1 127.0.0.1:6379 lpush myList b 运行结果: (integer) 2 127.0.0.1:6379 rpush myList c 运行结果: (integer) 3获取 lrange key start end 范围获取 127.0.0.1:6379 lrange myList 0 -1 运行结果: “b” “a” “c” 删除 lpop key 删除列表最左边的元素并将元素返回rpop key 删除列表最右边的元素并将元素返回 集合类型 set 不允许重复元素 存储sadd key value 127.0.0.1:6379 sadd myset a (integer) 1 127.0.0.1:6379 sadd myset a (integer) 0获取smembers key:获取set集合中所有元素 127.0.0.1:6379 smembers myset 运行结果: “a”删除srem key value:删除set集合中的某个元素 127.0.0.1:6379 srem myset a (integer) 1 有序集合类型 sortedset不允许重复元素且元素有顺序.每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 存储zadd key score value 127.0.0.1:6379 zadd mysort 60 zhangsan (integer) 1 127.0.0.1:6379 zadd mysort 50 lisi (integer) 1 127.0.0.1:6379 zadd mysort 80 wangwu (integer) 1获取zrange key start end [withscores] 127.0.0.1:6379 zrange mysort 0 -1 运行结果: “lisi” “zhangsan” “wangwu”127.0.0.1:6379 zrange mysort 0 -1 withscores 运行结果: “zhangsan” “60” “wangwu” “80” “lisi” “500” 删除zrem key value 127.0.0.1:6379 zrem mysort lisi (integer) 1 通用命令 keys * : 查询所有的键type key 获取键对应的value的类型del key删除指定的key value 注: 在redis中, 没有明确的修改数据的命令, 如果需要修改数据, 可以添加新的数据对原来的数据进行覆盖, 或者直接删除, 重新添加 持久化 redis是一个内存数据库当redis服务器重启获取电脑重启数据会丢失我们可以将redis内存中的数据持久化保存到硬盘的文件中。 redis持久化机制 RDB默认方式不需要进行配置默认就使用这种机制, redis在一定的间隔时间中检测key的变化情况然后持久化数据 操作步骤如下: 编辑redis.windwos.conf文件 # after 900 sec (15 min) if at least 1 key changed save 900 1 # after 300 sec (5 min) if at least 10 keys changed save 300 10 # after 60 sec if at least 10000 keys changed save 60 10000重新启动redis服务器并指定配置文件名称 D:\JavaWeb2018\day23_redis\资料\redis\windows-64\redis-2.8.9redis-server.exe redis.windows.conf AOF日志记录的方式可以记录每一条命令的操作。可以每一次命令操作后持久化数据 操作步骤如下: 编辑redis.windwos.conf文件 appendonly no关闭aof, 默认值 -- appendonly yes 开启aof # appendfsync always 每一次操作都进行持久化 appendfsync everysec 每隔一秒进行一次持久化 # appendfsync no 不进行持久化重新启动redis服务器, 并指定配置文件名称(这步操作与RDB操作的第二步一样) Java使用Jedis连接redis进行数据操作 Java客户端 Jedis Jedis: 一款java操作redis数据库的工具.使用maven导入Jedis的jar包 使用 //1. 获取连接Jedis jedis new Jedis(localhost,6379);//2. 操作jedis.set(username,zhangsan);//3. 关闭连接jedis.close();Jedis操作各种redis中的数据结构(Jedis中大多数方法名都是和redis的命令一样的, 在使用上具有很大的便利) 字符串类型 string set, get方法 //1. 获取连接Jedis jedis new Jedis();//如果使用空参构造默认值 localhost,6379端口//2. 操作//存储jedis.set(username,zhangsan);//获取String username jedis.get(username);System.out.println(username);//可以使用setex()方法存储可以指定过期时间的 key value//将activecodehehe键值对存入redis并且20秒后自动删除该键值对jedis.setex(activecode,20,hehe);//3. 关闭连接jedis.close();哈希类型 hash map格式 , hset, hget, hgetAll 函数 //1. 获取连接Jedis jedis new Jedis();//如果使用空参构造默认值 localhost,6379端口//2. 操作// 存储hashjedis.hset(user,name,lisi);jedis.hset(user,age,23);jedis.hset(user,gender,female);// 获取hashString name jedis.hget(user, name);System.out.println(name);// 获取hash的所有map中的数据MapString, String user jedis.hgetAll(user);// keysetSetString keySet user.keySet();for (String key : keySet) {//获取valueString value user.get(key);System.out.println(key : value);}//3. 关闭连接jedis.close();列表类型 list linkedlist格式。支持重复元素 lpush / rpush lpop / rpop lrange start end : 范围获取 //1. 获取连接Jedis jedis new Jedis();//如果使用空参构造默认值 localhost,6379端口//2. 操作// list 存储jedis.lpush(mylist,a,b,c);//从左边存jedis.rpush(mylist,a,b,c);//从右边存// list 范围获取ListString mylist jedis.lrange(mylist, 0, -1);System.out.println(mylist);// list 弹出String element1 jedis.lpop(mylist);//cSystem.out.println(element1);String element2 jedis.rpop(mylist);//cSystem.out.println(element2);// list 范围获取ListString mylist2 jedis.lrange(mylist, 0, -1);System.out.println(mylist2);//3. 关闭连接jedis.close();集合类型 set 不允许重复元素 sadd smembers:获取所有元素 //1. 获取连接Jedis jedis new Jedis();//如果使用空参构造默认值 localhost,6379端口//2. 操作// set 存储jedis.sadd(myset,java,php,c);// set 获取SetString myset jedis.smembers(myset);System.out.println(myset);//3. 关闭连接jedis.close();有序集合类型 sortedset不允许重复元素且元素有顺序 zadd zrange //1. 获取连接Jedis jedis new Jedis();//如果使用空参构造默认值 localhost,6379端口//2. 操作// sortedset 存储jedis.zadd(mysortedset,3,亚瑟);jedis.zadd(mysortedset,30,后裔);jedis.zadd(mysortedset,55,孙悟空);// sortedset 获取SetString mysortedset jedis.zrange(mysortedset, 0, -1);System.out.println(mysortedset);//3. 关闭连接jedis.close();jedis连接池 JedisPool 使用 创建JedisPool连接池对象调用方法 getResource()方法获取Jedis连接 //0.创建一个配置对象JedisPoolConfig config new JedisPoolConfig();config.setMaxTotal(50);config.setMaxIdle(10);//1.创建Jedis连接池对象JedisPool jedisPool new JedisPool(config,localhost,6379);//2.获取连接Jedis jedis jedisPool.getResource();//3. 使用jedis.set(hehe,heihei);//4. 关闭 归还到连接池中jedis.close();连接池工具类 public class JedisPoolUtils {private static JedisPool jedisPool;static{//读取配置文件InputStream is JedisPoolUtils.class.getClassLoader().getResourceAsStream(jedis.properties);//创建Properties对象Properties pro new Properties();//关联文件try {pro.load(is);} catch (IOException e) {e.printStackTrace();}//获取数据设置到JedisPoolConfig中JedisPoolConfig config new JedisPoolConfig();config.setMaxTotal(Integer.parseInt(pro.getProperty(maxTotal)));config.setMaxIdle(Integer.parseInt(pro.getProperty(maxIdle)));//初始化JedisPooljedisPool new JedisPool(config,pro.getProperty(host),Integer.parseInt(pro.getProperty(port)));}/*** 获取连接方法*/public static Jedis getJedis(){return jedisPool.getResource();} }在Service层使用redis进行数据缓存 下面就只给出Service层的代码, 单纯说明redis: 代码流程: 第一次数据查询, 先看看redis中是否有缓存数据, 没有就先去mysql数据库中查找.将1中mysql查询的数据转化为Json格式存入redis中.第二次数据查询, 就到redis中进行查找.在恰当的时候使用持久化操作 Service层数据 package com.regotto.service.impl;import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.regotto.dao.ProvinceDao; import com.regotto.dao.impl.ProvinceDaoImpl; import com.regotto.domain.Province; import com.regotto.service.ProvinceService; import com.regotto.utils.JedisUtils; import redis.clients.jedis.Jedis;import java.util.List;/*** 服务层调用dao层进行查询操作* author regotto*/ public class ProvinceServiceImpl implements ProvinceService {private ProvinceDao provinceDao new ProvinceDaoImpl();//进行查询操作Overridepublic ListProvince findAll() {return provinceDao.findAll();}Overridepublic String findAllJson() {//使用前面定义的工具类Jedis jedis JedisUtils.getJedisPool();String provinceJson jedis.get(province);if (provinceJson null || provinceJson.length() 0) {System.out.println(redis 中没有数据, 查询数据库);//redis中没有数据, 就使用mysql的查询操作进行数据查询ListProvince provinceList provinceDao.findAll();ObjectMapper objectMapper new ObjectMapper();try {provinceJson objectMapper.writeValueAsString(provinceList);jedis.set(province, provinceJson);} catch (JsonProcessingException e) {e.printStackTrace();}} else {System.out.println(redis 中存在数据);}return provinceJson;}} Servlet代码 package com.regotto.web;import com.fasterxml.jackson.databind.ObjectMapper; import com.regotto.domain.Province; import com.regotto.service.ProvinceService; import com.regotto.service.impl.ProvinceServiceImpl;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List;public class ProvinceServlet extends HttpServlet {Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//执行service层方法//ListProvince provinceList new ProvinceServiceImpl().findAll();//将provinceList数据序列化为json数据 // ObjectMapper objectMapper new ObjectMapper(); // String json objectMapper.writeValueAsString(provinceList);//使用redis做缓存改进String json new ProvinceServiceImpl().findAllJson();System.out.println(json);//响应结果response.setContentType(application/json;charsetutf-8);response.getWriter().println(json);}Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);} } 总结 注意使用redis缓存一些不经常发生变化的数据。数据库的数据一旦发生改变则需要更新缓存。数据库的表执行 增删改的相关操作需要将redis缓存数据情况再次存入在service对应的增删改方法中将redis数据删除。

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

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

相关文章

仿牌外贸网站推广seo有什么作用

✅作者简介:热爱科研的嵌入式开发者,修心和技术同步精进, 代码获取、问题探讨及文章转载可私信。 ☁ 愿你的生命中有够多的云翳,来造就一个美丽的黄昏。 🍎获取更多嵌入式资料可点击链接进群领取,谢谢支持!…

普通网站尚品本色木门网站是哪个公司做的

java解法-贪心 /*跳跃游戏II 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处:0 < j < nums[i]i j < n 返…

相亲网站怎么做元氏网站建设

引用自&#xff1a;http://www.cnblogs.com/wu8685/archive/2010/12/21/1912347.html 递归算法时间复杂度的计算方程式一个递归方程&#xff1a; 在引入递归树之前可以考虑一个例子&#xff1a; T(n) 2T(n/2) n2 迭代2次可以得&#xff1a; T(n) n2 2(2T(n/4) (n/2) 2) 还…

海口网站制作网站网站备案号官网

Linux-CentOS7&#xff08;无图形界面版&#xff09;部署Stable Diffusion webui 全过程 前置要求 git的版本不能是CentOS默认的版本&#xff08;1.8&#xff09;&#xff0c;版本太老&#xff0c;在后面安装过程会失败。去github上下载最新的git源码包 安装成功显示版本号 …

学装修设计师多少学费广州seo推广培训

forEach 遍历数组中的元素为每个元素执行回调无返回值 const a [1,2,3] const b a.forEach((num,index) > {// 执行 num、index 相关的代码 })// b undefined map 遍历数组中的元素 通过对每个元素调用函数&#xff0c;将每个元素 “ 映射&#xff08;map) ” 到一个…

gzip网站优化济南网站制作哪家专业

文章目录 一、类类型转换1.构造函数构造2.类型转换函数 一、类类型转换 数据类型转换在程序编译时或在程序运行实现 基本类型 ←→ 基本类型 基本类型 ←→ 类类型 类类型 ←→ 类类型 类对象的类型转换可由两种方式说明&#xff1a; 构造函数 转换函数 称为用户定义的类型转…

网站积分方案seo外链网站源码

文章目录 蓝桥杯* 最大公约数欧拉函数模版* 线性筛法 求欧拉函数* 快速幂 a^k%p扩展欧几里得算法 蓝桥杯 * 最大公约数 两个整数的最大公约数等于其中较小的那个数和两数的差的最大公约数。通过不断地用较小的数替换较大的数&#xff0c;并用两数的差替换较小的数&#xff0c;…

网站服务器是主机吗一个空间放2个网站

二叉树的遍历&#xff08;堆栈&#xff09; 如何理解用堆栈方式代替递归去遍历二叉树&#xff0c;关键点在于了解每个结点输出时的顺序&#xff0c;以及理解前序中序后序是如何遍历的&#xff0c;这点很重要&#xff0c;可以自己画一个树图&#xff0c;熟练写出遍历的结果 以…

哈尔滨建设工程交易中心网站网络规划师

轻轻松松&#xff0c;一键获取3000个外链 http://report.loganrockmarketing.com/backlinker/idx.html 打开以上网址&#xff1a; 在方框里输入你要推广的网址&#xff08;不要加前面的http://) 然后点击start/continue backlinking按钮 接下来&#xff0c;坐享其成吧。转载于:…

vps网站建站助手wordpress数据库无法访问

机缘 实际上在之前的文章之中我已经介绍过自己与csdn的缘分了&#xff0c;当初对算法十分的痴迷&#xff0c;也很希望能够将自己的一些理解写在csdn上&#xff0c;所以就开始了在csdn上的写作。 收获 在创作过程中最大的收获还是对过去所学的知识的总结吧&#xff0c;可惜的就…

免费申请com网站网站开发主流方法

SweetAlert2是一款功能强大的纯Js模态消息对话框插件。SweetAlert2用于替代浏览器默认的弹出对话框&#xff0c;它提供各种参数和方法&#xff0c;支持嵌入图片&#xff0c;背景&#xff0c;HTML标签等&#xff0c;并提供5种内置的情景类&#xff0c;功能非常强大。SweetAlert2…

建设网站分析报告商城网站建站

OpenTelemetry 介绍OpenTelemetry是一种开放的源代码规范&#xff0c;工具和SDK&#xff0c;用于检测&#xff0c;生成&#xff0c;收集和导出遥测数据&#xff08;指标&#xff0c;日志和跟踪&#xff09;,开放遥测技术得到了Cloud Native Computing Foundation&#xff08;CN…

手机网站的模板下载软件哪个搜索引擎能搜敏感内容

PCL点云处理之 基于垂直度检测与距离聚类 的路面点云提取方案 (二百三十九) 一、算法流程二、具体步骤1.垂直度检测与渲染1.代码2.效果2.水平分布点云提取1.代码2.效果3.路面连通点云提取1.代码2.效果三、完整代码四、参考文献一、算法流程

茂名建站模板搭建南阳做网站电话

摘要&#xff1a;新时代背景下&#xff0c;中国经济快速发展&#xff0c;城乡融合发展成为缩小城乡差距&#xff0c;推动共同富裕的重要方式。吉林省作为东北老工业基地&#xff0c;传统产业竞争优势减弱&#xff0c;城乡流动人才就业规模增加&#xff0c;并呈现“农村-城市”的…

iis网站发布默认首页横峰县建设局网站

在Spring Boot中整合Server-Sent Events (SSE) 是一种简单且有效的方法,用于实现服务器向客户端推送实时更新的功能。SSE 是一种服务器到客户端的单向通信协议,允许服务器推送消息到客户端,而不需要客户端发出请求。 1、添加依赖 首先,确保你的Spring Boot项目中已经包含…

怎么做自己的网站推广产品江苏网站备案

本文的标题来自Scott Hanselman 的 Xamarin Evolve 2013 Talk Video - How C# Saved My Marriage&#xff0c;想写下这些东西主要是今天看到了CSDN的一个极客头条《观点&#xff1a;.NET向何处去&#xff1f;》和传智播客.Net学院&#xff1a;《LinuxMono公开课》的视频看了2个…

制作网页创建站点的步骤专业的做网站软件

文章构建了一个通用单变量概率时间预测模型 Lag-Llama&#xff0c;在来自Monash Time Series库中的大量时序数据上进行了训练&#xff0c;并表现出良好的零样本预测能力。在介绍Lag-Llama之前&#xff0c;这里简单说明什么是概率时间预测模型。概率预测问题是指基于历史窗口内的…

天猫网站建设分析免费卡盟网站建设

目录 1 Zabbix简介1.1 软件架构1.2 版本选择1.3 功能特性 2 安装与部署2.1 时间同步需求2.2 下载仓库官方源2.3 Zabbix-Server服务端的安装2.3.1 安装MySQL2.3.1.1 创建Zabbix数据库2.3.1.2 导入Zabbix库的数据文件 2.3.2 配置zabbix_server.conf2.3.3 开启Zabbix-Server服务2.…

php彩票网站建设源码学院网站建设服务招生宣传

一、window对象 BOM属于window对象 1.BOM&#xff08;浏览器对象模型&#xff09; bom里面包含着dom,只不过bom我们平时用得比较少&#xff0c;我们经常使用的是dom操作&#xff0c;因为我们页面中的这些标签都是在dom中取的&#xff0c;所以我们操作dom多一点。 window对象…