硬盘

Redis面试

烂漫一生 提交于 2019-12-11 13:50:16
1、redis简介 简单来说 redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案 2、为什么要用 redis/为什么要用缓存 主要从“高性能”和“高并发”这两点来看待这个问题。 高性能: 假如用户第一次访问数据库中的某些数据。这个过程会比较慢,因为是从硬盘上读取的。将该用户访问的数据存在缓存中,这样下一次再访问这些数据的时候就可以直接从缓存中获取了。操作缓存就是直接操作内存,所以速度相当快。如果数据库中的对应数据改变的之后,同步改变缓存中相应的数据即可! 高并发: redis 和 memcached 的区别 redis支持更丰富的数据类型(支持更复杂的应用场景):Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。memcache支持简单的数据类型,String。 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用,而Memecache把数据全部存在内存之中。 集群模式:memcached没有原生的集群模式

linux命令

北战南征 提交于 2019-12-11 12:06:05
1.打包:jar -cvf moduel-cms_20160721.war * 2.解压war包:jar -xvf module-cms tar -zxvf 解压1.zip到purtms-web文件夹中 unzip 1.zip -d purtms-web/ 3.复制:cp module_cms_20160721.war ../project_bak/ cp file1 file2 复制一个文件 cp dir/* . 复制一个目录下的所有文件到当前工作目录 cp -a /tmp/dir1 . 复制一个目录到当前工作目录 cp -a dir1 dir2 复制一个目录 将本机文件复制到远程服务器上 scp /usr/local/server.properties root@172.25.6.11:/home 远程服务器上的文件复制到本机 scp root@172.25.6.12:/usr/local/server.properties /home 4.删除 rm -rf module-cms 5.移动 mv module-bms.zip ../../backup/module-bms.20150701.zip 6.创建文件夹 Mkdir 7.启动tomcat ./startup.sh 关闭tomcat ./shutdown.sh 8.杀掉进程。 命令:ps -ef|grep 8900

RAID与热备盘

本秂侑毒 提交于 2019-12-11 02:58:25
说到磁盘热备,我们必须要先来认识一下RAID的分类 随着科技的发展,电脑技术越来越发达,随着技术的发达对于电脑的容量的要求就会更高,我们的电脑通常会由几块磁盘组成,我们的电脑通常会对计算机的第一块磁盘拥有缓存,让它的速度更快,但是其它的磁盘却没有这样的优待,导致它们的速度慢了一截,为了解决这一问题,磁盘阵列出现了,联合几块弱小的硬盘,让它们组合到一起成为一块强大的硬盘,用来代替昂贵的大磁盘,用于协调多硬盘的使用。 RAID分为许多的模式,这些模式中都有很好的相互校验与恢复措施,或者是镜像备份,可以提高RAID的稳定性,与容错。但是RAID的价格相对昂贵, 磁盘的利用率也低, RAID0数据分条技术 在文件写入RAID时,一个文件会被切割成许多大小相同的数据条,然后按照次序放到多个磁盘中,然后系统会发出I/O数据请求,转化为三项操作,对应每一个存放文件的物理磁盘,这样在理论上可以同时操作三块硬盘,硬盘越多速度越快,但是因为多种因素的影响,速度肯定会慢一些,但是并行运算,提速效果还是很好的 缺点是不提供数据冗余,因为数据被分条储存,所以只要有一个硬盘挂了,文件的一部分数据条就丢失了,整个文件也损坏。所以一旦用户任意一个硬盘损坏,损坏的数据将无法得到恢复 RAID1镜像技术 备份数据会被分成2分,分别写入不同的磁盘中去,所以当其中一个硬盘出现损毁时数据还会是完整的,

如何查看你的笔记本还能否继续添加固态硬盘

瘦欲@ 提交于 2019-12-10 20:45:55
SSD固态硬盘具备的各种优点让用户垂涎,固态硬盘不仅读写速度快,而且防震抗率性高无噪音,所以很多用户就有给笔记本电脑装固态硬盘的想法。但是有些用户就问了,要怎么判断我的笔记本电脑能否更换或假装固态硬盘呢?下面小编就跟大家介绍怎么看笔记本能不能装固态硬盘的问题。 说明:现在的笔记本都是安装sata接口的硬盘(早期的笔记本除外),所以不存在笔记本不能装固态硬盘的情况,其实这部分用户都是想装一个固态硬盘作为系统盘使用,原来的硬盘作为存储用,所以应该说是如何判断笔记本能不能加装固态硬盘,这边就跟大家介绍怎么判断笔记本能不能装固态硬盘: 目前笔记本固态硬盘接口类型主要有SATA、mSATA和NGFF,因此只要笔记本有多余的接口就可以安装固态硬盘。 sata接口是目前流行的硬盘接口类型,我们最常见的固态硬盘同样也都是SATA接口,并且都采用了2.5英寸设计,方便笔记本用户进行安装。 由于固态硬盘成本比较高,将机械硬盘完全抛弃还不现实,所以必须有多余的sata接口才行,由于光驱也是采用sata接口,所以固态硬盘可以安装在光驱位。 如果要安装在光驱位的话,还需要另外购买光驱位硬盘托架。 不过小编建议将固态硬盘安装在原硬盘位,原来的机械硬盘安装在光驱位,因为大多笔记本的光驱接口仍然是sata2.0,而新一代笔记本的硬盘位很多接口都升为sata3.0,可以充分发挥固态硬盘性能。

Spark——RDD是什么?

冷暖自知 提交于 2019-12-10 17:49:36
Spark 中最基本的数据抽象是 RDD。 RDD:弹性分布式数据集 (Resilient Distributed DataSet)。 1,RDD 有三个基本特性 这三个特性分别为:分区,不可变,并行操作。 a, 分区 每一个 RDD 包含的数据被存储在系统的不同节点上。逻辑上我们可以将 RDD 理解成一个大的数组,数组中的每个元素就代表一个分区 (Partition) 。 在物理存储中,每个分区指向一个存储在内存或者硬盘中的数据块 (Block) ,其实这个数据块就是每个 task 计算出的数据块,它们可以分布在不同的节点上。 所以,RDD 只是抽象意义的数据集合,分区内部并不会存储具体的数据,只会存储它在该 RDD 中的 index,通过该 RDD 的 ID 和分区的 index 可以唯一确定对应数据块的编号,然后通过底层存储层的接口提取到数据进行处理。 在集群中,各个节点上的数据块会尽可能的存储在内存中,只有当内存没有空间时才会放入硬盘存储,这样可以最大化的减少硬盘 IO 的开销。 b,不可变 不可变性是指每个 RDD 都是只读的,它所包含的分区信息是不可变的。由于已有的 RDD 是不可变的,所以我们只有对现有的 RDD 进行转化 (Transformation) 操作,才能得到新的 RDD ,一步一步的计算出我们想要的结果。 这样会带来这样的好处:我们在 RDD

抽象类和接口的区别

半世苍凉 提交于 2019-12-10 15:55:06
1.面向接口编程和面向对象编程是什么关系 首先,面向接口编程和面向对象编程并不是平级的,它并不是比面向对象编程更先进的一种独立的编程思想,而是附属于面向对象思想体系,属于其一部分。或者说,它是面向对象编程体系中的思想精髓之一。 2.接口的本质 接口,在表面上是由几个没有主体代码的方法定义组成的集合体,有唯一的名称,可以被类或其他接口所实现(或者也可以说继承)。它在形式上可能是如下的样子: interface InterfaceName { void Method1(); void Method2(int para1); void Method3(string para2,string para3); } 那么,接口的本质是什么呢?或者说接口存在的意义是什么。我认为可以从以下两个视角考虑: 1)接口是一组规则的集合,它规定了实现本接口的类或接口必须拥有的一组规则。体现了自然界“如果你是……则必须能……”的理念。 例如,在自然界中,人都能吃饭,即“如果你是人,则必须能吃饭”。那么模拟到计算机程序中,就应该有一个IPerson(习惯上,接口名由“I”开头)接口,并有一个方法叫Eat(),然后我们规定,每一个表示“人”的类,必须实现IPerson接口,这就模拟了自然界“如果你是人,则必须能吃饭”这条规则。 从这里,我想各位也能看到些许面向对象思想的东西。面向对象思想的核心之一

详解虚拟机中为Linux添加硬盘

谁说我不能喝 提交于 2019-12-10 14:09:43
Linux添加硬盘是在原来安装的硬盘空间不够或者需要使用其他硬盘上的东西时候的解决办法,因为大多数初学者习惯使用虚拟机,这里以在Vmware虚拟机中实现Linux添加硬盘的具体步骤来详细介绍说这个问题。 Vmware中为linux增加硬盘 1. 在vmware的setting中为虚拟机增加一个硬盘。 2. 在vmware中看见 第1个硬盘是 /dev/sda , 第2个硬盘是 /dev/sdb 3. 创建硬盘信息 fdisk /dev/sdb a. 按n添加分区,选p(主分区); b. 选1,也就是sdb1; c. 然后就是空间划分,一路回车。默认是使用整个磁盘空间。 d. 然后按w写入分区信息 4. 格式化硬盘 mkfs -t ext3 /dev/sdb1 5. 创建需要mount的目录 mkdir -p /opt 6. mount到指定的目录 mount /dev/sdb1 /opt -o rw 7. 如果需要每次启动加载,修改/etc/fstab文件 在fstab文件里面添加一行: /dev/sdb1 /opt ext3 defaults 1 1 这样我们就完成了在虚拟机上Linux添加硬盘问题的解决。 来源: oschina 链接: https://my.oschina.net/u/1866459/blog/359831

linux 挂载新磁盘到某文件目录下

↘锁芯ラ 提交于 2019-12-10 12:29:36
在window操作系统中,挂载通常是指给磁盘分区(包括被虚拟出来的磁盘分区)分配一个盘符。第三方软件,如磁盘分区管理软件、虚拟磁盘软件等,通常也附带挂载功能。在linux操作系统中,挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。 以上的内容是在网上找到的一些资料。个人理解挂载就相当于一颗树,首先只有一个根节点。当需要挂载的时候,原有的树上某个节点的位置上创建一个文件夹,该文件夹作为挂载点。(新更新的位置:2017/09/17) 一下是在linux中挂载一块硬盘的方法: 1首先先在虚拟机上添加一块硬盘 2.打开虚拟机收输入fdisk -l 将,系统中所有的分区都列出来。 当输入fdisk -l 显示的结果为如下图所示的时候 上图说明此时是因为使用的普通用户没有权限造成的所以使用管理员root则不会显示上图的文字。(额外添加的内容:2017/09/17) 3.输入fdisk /dev/sdb :对已经选中的硬盘进行编辑。选中硬盘时候输入n(增加一个新的分区),之后输入选输入p(选则为主分区),其次在输入1,之后按回车选择默认(即将一个2G的空间全部给这个分区了),最后输入“w”,将分区保存并退出 4.之后输入fdisk -l ,再次查看分区是否完成分配

nginx实时生成缩略图到硬盘上

北城余情 提交于 2019-12-10 08:47:30
现在随着各终端的出现(手机,ipad等平板),以及各种终端的手机分辨率和尺寸都不同,现在手机用户流量都是宝,网上出现了各种各样的生成缩略图功能的架构,有使用php实时生成缩略图的,也有用nginx + lua实现的,上节我也讲到了 使用nginx生成缩略图 ,但是用户每次访问都需要生成一次,会给cpu和硬盘带来比较大的压力,今天带来了另外一种方式,这次使用nginx将原图生成缩略图到硬盘上.看我的配置 1. 首先建好cache目录 # mkdir /data/site_cache/ 2. 修改nginx配置 location ~* ^/resize { root /data/site_cache/$server_name; set $width 150; set $height 100; set $dimens ""; if ($uri ~* "^/resize_(\d+)x(\d+)/(.*)" ) { set $width $1; set $height $2; set $image_path $3; set $demins "_$1x$2"; } if ($uri ~* "^/resize/(.*)" ) { set $image_path $1; } set $image_uri image_resize/$image_path?width=$width&height=

USB3.0转SATA2.0(硬盘盒设计)

夙愿已清 提交于 2019-12-10 01:01:59
USB3.0接口硬盘盒设计 硬盘盒的作用就是对一块硬盘起到物理保护作用,同时使用便于移动的连接方式,实现移动硬盘的作用。 说白了就是固定硬盘的外壳设备,包含外壳以及PCB转接板。 你的电脑换上了固态硬盘,把机械硬盘放在硬盘盒里面,就是移动硬盘了。 硬盘+硬盘盒 如下就是硬盘盒的构成,可以忽略下面的二极管,这只是个示意图。 包含输入USB3.0接口、电源输入5V(这个不一定有)、主控制器、硬盘。 自供电与总线供电 自供电就是硬盘盒整体外置使用5V或其他电源,无需使用USB接口提供的5V电源,或仅仅提供在连接时初始状态的指定。 总线供电就是使用USB端口提供的5V电源,但是因为硬盘不一致,笔记本型号不一致,导致笔记本等带不起来硬盘,所以我们需要购买自供电硬盘盒或者自己进行改装。 主控芯片 JMS578是一款USB3.0至SATA III 6Gps桥接控制器,具有高性能和低功耗。 它可以支持USB2.0 / USB3.0设备控制器的供应商VID / PID的外部SPI NVRAM。 它具有10个GPIO,可针对各种应用进行定制。 它支持用于在USB2.0 / USB3.0下下载升级的固件代码的软件实用程序。 它符合USB大容量存储类批量运输(BOT)规范和USB连接的SCSI协议(UASP)规范。 芯片框图: 使用场景 即就是实现USB接口转成SATA接口,也就是外置移动硬盘。