redis用中文谐音怎么读(tomcat,apache,nginx,php,redis,memcached,lvs-keeplived是什么意思)

2024-07-21 05:49:41 6

redis用中文谐音怎么读(tomcat,apache,nginx,php,redis,memcached,lvs-keeplived是什么意思)

本文目录

tomcat,apache,nginx,php,redis,memcached,lvs-keeplived是什么意思

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。Keepalived的作用是检测服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

setnx命令怎么读

谐音读作:爱谁提奈可四。Redis Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。命令格式: setnx key value命令说明:当且仅当key不存在时,将key的值设置为value。若给定的key已经存在,则setnx不做任何操作。时间复杂度:O(1)返回值: 设置成功,返回1 。 设置失败,返回0。

redis序列化的值怎么还原

redis序列化的值怎么还原数据备份和还原恢复数据 如果您想恢复数据,只需将备份文件 dump.rdb 移动到 Redis 安装目录下,然后重启 Redis 服务器...C语言中文网

总结redis在节省内存开销方面做过哪些设计

Redis常用数据类型Redis最为常用的数据类型主要有以下五种:StringHashListSetSorted set在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的:首先Redis内部使用一个redisObject对象来表示所有的key和value,redisObject最主要的信息如上图所示:type代表一个value对象具体是何种数据类型,encoding是不同数据类型在redis内部的存储方式,比如:type=string代表value存储的是一个普通字符串,那么对应的encoding可以是raw或者是int,如果是int则代表实际redis内部是按数值型类存储和表示这个字符串的,当然前提是这个字符串本身可以用数值表示,比如:"123" "456"这样的字符串。这里需要特殊说明一下vm字段,只有打开了Redis的虚拟内存功能,此字段才会真正的分配内存,该功能默认是关闭状态的,该功能会在后面具体描述。通过上图我们可以发现Redis使用redisObject来表示所有的key/value数据是比较浪费内存的,当然这些内存管理成本的付出主要也是为了给Redis不同数据类型提供一个统一的管理接口,实际作者也提供了多种方法帮助我们尽量节省内存使用,我们随后会具体讨论。下面我们先来逐一的分析下这五种数据类型的使用和内部实现方式:String常用命令:set,get,decr,incr,mget 等。应用场景:String是最常用的一种数据类型,普通的key/value存储都可以归为此类,这里就不所做解释了。实现方式:String在redis内部存储默认就是一个字符串,被redisObject所引用,当遇到incr,decr等操作时会转成数值型进行计算,此时redisObject的encoding字段为int。Hash常用命令:hget,hset,hgetall 等。应用场景:我们简单举个实例来描述下Hash的应用场景,比如我们要存储一个用户信息对象数据,包含以下信息:用户ID为查找的key,存储的value用户对象包含姓名,年龄,生日等信息,如果用普通的key/value结构来存储,主要有以下2种存储方式:常用内存优化手段与参数通过我们上面的一些实现上的分析可以看出redis实际上的内存管理成本非常高,即占用了过多的内存,作者对这点也非常清楚,所以提供了一系列的参数和手段来控制和节省内存,我们分别来讨论下。首先最重要的一点是不要开启Redis的VM选项,即虚拟内存功能,这个本来是作为Redis存储超出物理内存数据的一种数据在内存与磁盘换入换出的一个持久化策略,但是其内存管理成本也非常的高,并且我们后续会分析此种持久化策略并不成熟,所以要关闭VM功能,请检查你的redis.conf文件中 vm-enabled 为 no。其次最好设置下redis.conf中的maxmemory选项,该选项是告诉Redis当使用了多少物理内存后就开始拒绝后续的写入请求,该参数能很好的保护好你的Redis不会因为使用了过多的物理内存而导致swap,最终严重影响性能甚至崩溃。另外Redis为不同数据类型分别提供了一组参数来控制内存使用,我们在前面详细分析过Redis Hash是value内部为一个HashMap,如果该Map的成员数比较少,则会采用类似一维线性的紧凑格式来存储该Map, 即省去了大量指针的内存开销,这个参数控制对应在redis.conf配置文件中下面2项:hash-max-zipmap-entries 64 hash-max-zipmap-value 512 hash-max-zipmap-entries含义是当value这个Map内部不超过多少个成员时会采用线性紧凑格式存储,默认是64,即value内部有64个以下的成员就是使用线性紧凑存储,超过该值自动转成真正的HashMap。hash-max-zipmap-value 含义是当 value这个Map内部的每个成员值长度不超过多少字节就会采用线性紧凑存储来节省空间。以上2个条件任意一个条件超过设置值都会转换成真正的HashMap,也就不会再节省内存了,那么这个值是不是设置的越大越好呢,答案当然是否定的,HashMap的优势就是查找和操作的时间复杂度都是O(1)的,而放弃Hash采用一维存储则是O(n)的时间复杂度,如果成员数量很少,则影响不大,否则会严重影响性能,所以要权衡好这个值的设置,总体上还是最根本的时间成本和空间成本上的权衡。同样类似的参数还有:list-max-ziplist-entries 512说明:list数据类型多少节点以下会采用去指针的紧凑存储格式。list-max-ziplist-value 64 说明:list数据类型节点值大小小于多少字节会采用紧凑存储格式。set-max-intset-entries 512 说明:set数据类型内部数据如果全部是数值型,且包含多少节点以下会采用紧凑格式存储。最后想说的是Redis内部实现没有对内存分配方面做过多的优化,在一定程度上会存在内存碎片,不过大多数情况下这个不会成为Redis的性能瓶颈,不过如果在Redis内部存储的大部分数据是数值型的话,Redis内部采用了一个shared integer的方式来省去分配内存的开销,即在系统启动时先分配一个从1~n 那么多个数值对象放在一个池子中,如果存储的数据恰好是这个数值范围内的数据,则直接从池子里取出该对象,并且通过引用计数的方式来共享,这样在系统存储了大量数值下,也能一定程度上节省内存并且提高性能,这个参数值n的设置需要修改源代码中的一行宏定义REDIS_SHARED_INTEGERS,该值默认是10000,可以根据自己的需要进行修改,修改后重新编译就可以了。Redis的持久化机制Redis由于支持非常丰富的内存数据结构类型,如何把这些复杂的内存组织方式持久化到磁盘上是一个难题,所以Redis的持久化方式与传统数据库的方式有比较多的差别,Redis一共支持四种持久化方式,分别是:在设计思路上,前两种是基于全部数据都在内存中,即小数据量下提供磁盘落地功能,而后两种方式则是作者在尝试存储数据超过物理内存时,即大数据量的数据存储,截止到本文,后两种持久化方式仍然是在实验阶段,并且vm方式基本已经被作者放弃,所以实际能在生产环境用的只有前两种,换句话说Redis目前还只能作为小数据量存储(全部数据能够加载在内存中),海量数据存储方面并不是Redis所擅长的领域。下面分别介绍下这几种持久化方式:定时快照方式(snapshot):该持久化方式实际是在Redis内部一个定时器事件,每隔固定时间去检查当前数据发生的改变次数与时间是否满足配置的持久化触发的条件,如果满足则通过操作系统fork调用来创建出一个子进程,这个子进程默认会与父进程共享相同的地址空间,这时就可以通过子进程来遍历整个内存来进行存储操作,而主进程则仍然可以提供服务,当有写入时由操作系统按照内存页(page)为单位来进行copy-on-write保证父子进程之间不会互相影响。该持久化的主要缺点是定时快照只是代表一段时间内的内存映像,所以系统重启会丢失上次快照与重启之间所有的数据。基于语句追加方式(aof):aof方式实际类似mysql的基于语句的binlog方式,即每条会使Redis内存数据发生改变的命令都会追加到一个log文件中,也就是说这个log文件就是Redis的持久化数据。aof的方式的主要缺点是追加log文件可能导致体积过大,当系统重启恢复数据时如果是aof的方式则加载数据会非常慢,几十G的数据可能需要几小时才能加载完,当然这个耗时并不是因为磁盘文件读取速度慢,而是由于读取的所有命令都要在内存中执行一遍。另外由于每条命令都要写log,所以使用aof的方式,Redis的读写性能也会有所下降。虚拟内存方式:虚拟内存方式是Redis来进行用户空间的数据换入换出的一个策略,此种方式在实现的效果上比较差,主要问题是代码复杂,重启慢,复制慢等等,目前已经被作者放弃。diskstore方式:diskstore方式是作者放弃了虚拟内存方式后选择的一种新的实现方式,也就是传统的B-tree的方式,目前仍在实验阶段,后续是否可用我们可以拭目以待。Redis持久化磁盘IO方式及其带来的问题有Redis线上运维经验的人会发现Redis在物理内存使用比较多,但还没有超过实际物理内存总容量时就会发生不稳定甚至崩溃的问题,有人认为是基于快照方式持久化的fork系统调用造成内存占用加倍而导致的,这种观点是不准确的,因为fork 调用的copy-on-write机制是基于操作系统页这个单位的,也就是只有有写入的脏页会被复制,但是一般你的系统不会在短时间内所有的页都发生了写入而导致复制,那么是什么原因导致Redis崩溃的呢?答案是Redis的持久化使用了Buffer IO造成的,所谓Buffer IO是指Redis对持久化文件的写入和读取操作都会使用物理内存的Page Cache,而大多数数据库系统会使用Direct IO来绕过这层Page Cache并自行维护一个数据的Cache,而当Redis的持久化文件过大(尤其是快照文件),并对其进行读写时,磁盘文件中的数据都会被加载到物理内存中作为操作系统对该文件的一层Cache,而这层Cache的数据与Redis内存中管理的数据实际是重复存储的,虽然内核在物理内存紧张时会做Page Cache的剔除工作,但内核很可能认为某块Page Cache更重要,而让你的进程开始Swap ,这时你的系统就会开始出现不稳定或者崩溃了。我们的经验是当你的Redis物理内存使用超过内存总容量的3/5时就会开始比较危险了。定时快照方式(snapshot)基于语句追加文件的方式(aof)虚拟内存(vm)Diskstore方式第一种方式将用户ID作为查找key,把其他信息封装成一个对象以序列化的方式存储,这种方式的缺点是,增加了序列化/反序列化的开销,并且在需要修改其中一项信息时,需要把整个对象取回,并且修改操作需要对并发进行保护,引入CAS等复杂问题。第二种方法是这个用户信息对象有多少成员就存成多少个key-value对儿,用用户ID+对应属性的名称作为唯一标识来取得对应属性的值,虽然省去了序列化开销和并发问题,但是用户ID为重复存储,如果存在大量这样的数据,内存浪费还是非常可观的。那么Redis提供的Hash很好的解决了这个问题,Redis的Hash实际是内部存储的Value为一个HashMap,并提供了直接存取这个Map成员的接口,如下图:也就是说,Key仍然是用户ID, value是一个Map,这个Map的key是成员的属性名,value是属性值,这样对数据的修改和存取都可以直接通过其内部Map的Key(Redis里称内部Map的key为field), 也就是通过 key(用户ID) + field(属性标签) 就可以操作对应属性数据了,既不需要重复存储数据,也不会带来序列化和并发修改控制的问题。很好的解决了问题。这里同时需要注意,Redis提供了接口(hgetall)可以直接取到全部的属性数据,但是如果内部Map的成员很多,那么涉及到遍历整个内部Map的操作,由于Redis单线程模型的缘故,这个遍历操作可能会比较耗时,而另其它客户端的请求完全不响应,这点需要格外注意。实现方式:上面已经说到Redis Hash对应Value内部实际就是一个HashMap,实际这里会有2种不同实现,这个Hash的成员比较少时Redis为了节省内存会采用类似一维数组的方式来紧凑存储,而不会采用真正的HashMap结构,对应的value redisObject的encoding为zipmap,当成员数量增大时会自动转成真正的HashMap,此时encoding为ht。List常用命令:lpush,rpush,lpop,rpop,lrange等。应用场景:Redis list的应用场景非常多,也是Redis最重要的数据结构之一,比如twitter的关注列表,粉丝列表等都可以用Redis的list结构来实现,比较好理解,这里不再重复。实现方式:Redis list的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销,Redis内部的很多实现,包括发送缓冲队列等也都是用的这个数据结构。Set常用命令:sadd,spop,smembers,sunion 等。应用场景:Redis set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择,并且set提供了判断某个成员是否在一个set集合内的重要接口,这个也是list所不能提供的。实现方式:set 的内部实现是一个 value永远为null的HashMap,实际就是通过计算hash的方式来快速排重的,这也是set能提供判断一个成员是否在集合内的原因。Sorted set常用命令:zadd,zrange,zrem,zcard等使用场景:Redis sorted set的使用场景与set类似,区别是set不是自动有序的,而sorted set可以通过用户额外提供一个优先级(score)的参数来为成员排序,并且是插入有序的,即自动排序。当你需要一个有序的并且不重复的集合列表,那么可以选择sorted set数据结构,比如twitter 的public timeline可以以发表时间作为score来存储,这样获取时就是自动按时间排好序的。实现方式:Redis sorted set的内部使用HashMap和跳跃表(SkipList)来保证数据的存储和有序,HashMap里放的是成员到score的映射,而跳跃表里存放的是所有的成员,排序依据是HashMap里存的score,使用跳跃表的结构可以获得比较高的查找效率,并且在实现上比较简单。

redis用中文谐音怎么读(tomcat,apache,nginx,php,redis,memcached,lvs-keeplived是什么意思)

本文编辑:admin

更多文章:


powerpoint没保存怎么恢复(电脑死机导致PPT没保存该如何恢复)

powerpoint没保存怎么恢复(电脑死机导致PPT没保存该如何恢复)

本文目录电脑死机导致PPT没保存该如何恢复如何恢复意外关闭未保存的ppt文档PPT在关闭时忘记保存如何恢复不小心未保存的ppt怎么恢复ppt没保存怎么找回来windows+ppt没保存怎么恢复ppt文件没保存怎么恢复ppt没保存怎么恢复pp

2024年6月29日 19:32

css全局居中代码(CSS在实现居中操作时,代码怎么写)

css全局居中代码(CSS在实现居中操作时,代码怎么写)

“css全局居中代码”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看css全局居中代码(CSS在实现居中操作时,代码怎么写)!本文目录CSS在实现居中操作时,代码怎么写CSS代码怎么居中如何只用CSS做到完全居中CSS在实现

2024年9月3日 22:55

虚拟机把我电脑给废了(在电脑上安装虚拟机对电脑有什么危害)

虚拟机把我电脑给废了(在电脑上安装虚拟机对电脑有什么危害)

大家好,关于虚拟机把我电脑给废了很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于在电脑上安装虚拟机对电脑有什么危害的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助

2024年9月27日 17:55

eof函数的返回值的数据类型(EOF是什么类型的量C语言问题)

eof函数的返回值的数据类型(EOF是什么类型的量C语言问题)

本文目录EOF是什么类型的量C语言问题EOF函数的相关基础知识pascal 中的“Eof”是什么意思EOF是什么类型的量C语言问题概念在C语言中,或更精确地说成C标准函数库中表示文件结束符(end of file)。在while循环中以EO

2024年7月13日 19:09

广告设计与制作(广告设计与制作这个专业是干什么的)

广告设计与制作(广告设计与制作这个专业是干什么的)

本文目录广告设计与制作这个专业是干什么的广告设计与制作学的是什么广告设计与制作这个专业是干什么的您好,对于你的问题,和你分享如下观点,希望对你有所帮助。1.首先,该专业是培养具有广告学理论和和设计的人才,使其毕业后可以在企业从事广告经营管理

2024年7月3日 14:12

cellpadding英文(汉语句子译英文)

cellpadding英文(汉语句子译英文)

本文目录汉语句子译英文手机锁屏密码用了英文字母怎么输入html 的 元素和属性的英文全称都是什么汉语句子译英文1\她砰地关上门,一声不吭地走了,他们之间那场争执就此结束. She slammed the door and went away

2024年7月21日 06:24

安装ubuntu的分区详细教程(ubuntu 14.04安装怎么分区)

安装ubuntu的分区详细教程(ubuntu 14.04安装怎么分区)

各位老铁们,大家好,今天由我来为大家分享安装ubuntu的分区详细教程,以及ubuntu 14.04安装怎么分区的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始

2024年8月13日 11:00

java编程培训班 深圳(在深圳去哪家java培训好点)

java编程培训班 深圳(在深圳去哪家java培训好点)

大家好,今天小编来为大家解答以下的问题,关于java编程培训班 深圳,在深圳去哪家java培训好点这个很多人还不知道,现在让我们一起来看看吧!本文目录在深圳去哪家java培训好点深圳java培训需要多少钱,龙岗好的java培训在深圳Java

2024年7月21日 02:58

embed函数-embed函数语法-记住吧?iframe 和 embed的区别

embed函数-embed函数语法-记住吧?iframe 和 embed的区别

本文目录embed函数-embed函数语法-记住吧iframe 和 embed的区别R语言 | 多组样本的N种组合-embed函数-embed函数用法大embed函数-embed函数语法-记住吧embed函数语法EMBED的语法有时,当我们

2024年7月4日 16:25

编辑器怎么同步到公众号(秀米编辑器内容编辑完了怎么弄到微信公众平台里去)

编辑器怎么同步到公众号(秀米编辑器内容编辑完了怎么弄到微信公众平台里去)

这篇文章给大家聊聊关于编辑器怎么同步到公众号,以及秀米编辑器内容编辑完了怎么弄到微信公众平台里去对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录秀米编辑器内容编辑完了怎么弄到微信公众平台里去96编辑器怎么复制到公众号秀米怎么同

2024年8月19日 09:55

linux发展史(什么是linux操作系统,发展历史)

linux发展史(什么是linux操作系统,发展历史)

大家好,今天小编来为大家解答以下的问题,关于linux发展史,什么是linux操作系统,发展历史这个很多人还不知道,现在让我们一起来看看吧!本文目录什么是linux操作系统,发展历史LINUX是什么时候诞生的什么是linux操作系统,发展历

2024年8月22日 07:00

oracle基本语句增删改(oracle增删改都建 触发器 可以建一个触发器吗)

oracle基本语句增删改(oracle增删改都建 触发器 可以建一个触发器吗)

其实oracle基本语句增删改的问题并不复杂,但是又很多的朋友都不太了解oracle增删改都建 触发器 可以建一个触发器吗,因此呢,今天小编就来为大家分享oracle基本语句增删改的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的

2024年8月12日 07:10

listview点击item跳转(ListView怎样点击Item跳转到下一个Activity)

listview点击item跳转(ListView怎样点击Item跳转到下一个Activity)

这篇文章给大家聊聊关于listview点击item跳转,以及ListView怎样点击Item跳转到下一个Activity对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录ListView怎样点击Item跳转到下一个Activit

2024年9月29日 17:25

lenovoutility是什么软件(lenovo utility是否可以开机禁止)

lenovoutility是什么软件(lenovo utility是否可以开机禁止)

本文目录lenovo utility是否可以开机禁止lenovo utility卸载的方法是什么把Lenovo Utility卸载了要紧吗lenovoutility在哪里下载LenovoUtility是干什么的软件lenovoutility

2024年7月23日 14:36

qq浏览器菜单栏在哪(手机qq浏览器的菜单怎样显示)

qq浏览器菜单栏在哪(手机qq浏览器的菜单怎样显示)

本文目录手机qq浏览器的菜单怎样显示打开QQ浏览器,最下面的工具栏不见了,右键也找不到工具栏的选项,求大神QQ浏览器的“工具”在哪手机QQ浏览器设置界面在哪找QQ浏览器如何设置菜单模式qq浏览器快捷栏书签状态栏不见了手机qq浏览器看小说连下

2024年2月4日 15:40

java模拟器下载中文版(JAVA模拟器在那里下载 可以在电脑上玩)

java模拟器下载中文版(JAVA模拟器在那里下载 可以在电脑上玩)

本文目录JAVA模拟器在那里下载 可以在电脑上玩java模拟器安卓4.0版安卓2.3java模拟器下载JAVA模拟器在那里下载 可以在电脑上玩一般的话可以下载sun的wtk模拟器,也可以去诺基亚官网下载诺基亚的模拟器,sun公司的模拟器是标

2024年7月8日 10:46

fopen中文路径问题(php fopen路径问题:)

fopen中文路径问题(php fopen路径问题:)

各位老铁们好,相信很多人对fopen中文路径问题都不是特别的了解,因此呢,今天就来为大家分享下关于fopen中文路径问题以及php fopen路径问题:的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录php fo

2024年8月24日 16:31

滚动条怎么设置大小值(Excel 2003 如何设置滚动条大小)

滚动条怎么设置大小值(Excel 2003 如何设置滚动条大小)

这篇文章给大家聊聊关于滚动条怎么设置大小值,以及Excel 2003 如何设置滚动条大小对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录Excel 2003 如何设置滚动条大小vb滚动条控制字体大小Excel 2003 如何设

2024年8月8日 07:30

cocos下载(cocos2dx官网有4个下载文件下载哪一个)

cocos下载(cocos2dx官网有4个下载文件下载哪一个)

本文目录cocos2dx官网有4个下载文件下载哪一个cocospy下载需要拿到对方苹果账号密码吗cocos打包apk手机不让安装在d盘的cocos下载后在c盘怎么办cocos下载百多个小文件经常失败cocos2dx官网有4个下载文件下载哪一

2024年7月24日 12:31

python编程加法(在Python编程中运行print(’加法计算12+9=’,12+9),运行结果是)

python编程加法(在Python编程中运行print(’加法计算12+9=’,12+9),运行结果是)

各位老铁们好,相信很多人对python编程加法都不是特别的了解,因此呢,今天就来为大家分享下关于python编程加法以及在Python编程中运行print(’加法计算12+9=’,12+9),运行结果是的问题知识,还望可以帮助大家,解决大家

2024年7月12日 22:45

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1732
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1156
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1153
标签列表

热门搜索