命令模式

redis之RDB持久化与AOF持久化

吃可爱长大的小学妹 提交于 2020-02-15 06:01:30
Redis是一个键值对数据库服务器,服务器中通常包含着任意个非空数据库,而每个非空数据库中又可以包含任意个键值对,为了方便起见,我们将服务器中的非空数据库以及它们的键值对统称为数据库状态。 因为Redis是内存数据库,它将自己的数据库状态储存在内存里面,所以如果不想办法将储存在内存中的数据库状态保存到磁盘里面,那么一旦服务器进程退出,服务器中的数据库状态也会消失不见。为了解决这个问题,Redis提供了RDB持久化功能,这个功能可以将Redis在内存中的数据库状态保存到磁盘里面,避免数据意外丢失。 RDB持久化功能所生成的RDB文件是一个经过压缩的 二进制文件 ,通过该文件可以还原生成RDB文件时的数据库状态。 1、RDB文件的创建与载入 有两个Redis命令可以用于生成RDB文件,一个是SAVE,另一个是BGSAVE. SAVE命令会阻塞Redis服务器进程,直到RDB文件创建完毕为止,在服务器进程阻塞期间,服务器不能处理任何命令请求 : redis> SAVE //等待直到RDB文件创建完毕 OK 和SAVE命令直接阻塞服务器进程的做法不同, BGSAVE命令会派生出一个子进程,然后由子进程负责创建RDB文件,服务器进程(父进程)继续处理命令请求 : redis> BGSAVE //派生子进程,并由子进程创建RDB文件 Background saving started

linux系统安装与初用

六眼飞鱼酱① 提交于 2020-02-15 05:21:13
----- LINUX入门知识 (1) linux 的发行版本、内核版本;二者区别与联系   Linux内核是计算机操作系统的核心,是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件,它不是一套完整的操作系统,而是linux操作系统的核心组件。   Linux发行版包括了内核与一些其他与文件相关的操作,用户管理系统,和软件包管理器等一系列软件。   机器信息      内核版本      发行版本    (2) linux 中硬盘及分区的表示     最前面是硬盘种类,中间是硬盘序号,最后是该硬盘分区序号,可以通过fdisk查看硬盘情况(注意:需要sudo权限,否则无法访问)     硬盘种类有hd、sd,以及最新的nvme   以本人电脑为例(电脑有两个硬盘,一个hhd,一个ssd):     nvme0是硬盘种类     n1是硬盘序号     p1-p7是分区序号    (3)linux 系统支持的文件系统格式     Linux系统核心可以支持十多种文件系统类型,比如Btrfs、JFS、 ReiserFS、ext、ext2、ext3、ext4、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等。   对于各个版本的区别,可以参考 http://www.jb51.net

Linux系统新手学习的11点建议

落爺英雄遲暮 提交于 2020-02-15 05:17:16
  随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习Linux的一些建议。   一、从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linux 的基础之后,应该就可以很轻易的解决掉这方面的问题。而有些朋友们常常一接触Linux 就是希望构架网站,根本没有想到要先了解一下Linux 的基础。这是相当困难的。   二、Linux命令是必须学习虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平这个原理是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。举一个例子: Linux的常用命令find,察看man文档,初学者一定会觉得太复杂而不原意用,但是你一旦学会就爱不释手。它的功能实在太强了,在配合exec参数或者通过管道重定向到xargs命令和grep命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间。 不同版本的Linux命令数量不一样

Git学习笔记

喜你入骨 提交于 2020-02-15 04:38:57
Git的官方网站:http://git-scm.com 学习 廖雪峰 的Git教程所做笔记。 外国网友制作的 Git Cheat Sheet Git简介 Git是目前世界上最先进的 分布式版本控制系统 。由Linus使用C写成。 版本库 版本库又名仓库,英文名 repository 。 初始化一个Git仓库,使用 git init 命令。 添加文件到Git仓库,分两步: 使用命令 git add <file> ,注意,可反复多次使用,添加多个文件; 使用命令 git commit -m "<message>" ,完成。(-m后面输入的是本次提交的说明) 注意: 目录名尽量不使用中文。 强烈建议使用标准的UTF-8编码。 版本控制系统是没法跟踪Word文件的改动。 .git 目录是Git来跟踪管理版本库的,尽量不要去改动。 时光机回溯 要随时掌握工作区的状态,使用 git status 命令。 如果 git status 告诉你有文件被修改过,用 git diff 可以查看修改内容。 版本回退 HEAD 指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令 git reset --hard <commit_id> 。 穿梭前,用 git log 可以查看提交历史,以便确定要回退到哪个版本。 要重返未来,用 git reflog 查看命令历史

redis内存消耗详解

[亡魂溺海] 提交于 2020-02-14 22:43:06
Redis所有的数据都存在内存中,相对于廉价的硬盘,内存资源还是比较昂贵的,因此如何高效利用redis内存变得非常重要。 内存消耗分析 管理内存的原理和方法 内存优化技巧 一、内存消耗 理解redis内存,首先要掌握redis内存消耗在哪些方面。有些内存消耗是必不可少的,而有些可以通过参数调整和合理使用来规避内存浪费。 1.1 内存使用统计 首先需要了解redis自身使用内存的统计数据,可通过执行info memory命令来获取内存相关指标 used_memory redis分配器分配的内存总量,也就是内部存储的所有数据内存占用量 used_memory_human 以可读的格式返回used_memory used_memory_rss 从操作系统的角度显示redis进程占用的物理内存总量 used_memory_peak 内存使用的最大值,表示used_memory的峰值 used_memory_peak_human 以可读的格式返回used_memory_peak used_memory_lua Lua引擎所消耗的内存大小 mem_fragmentation_ratio used_memory_rss/used_memory比值。表示内存碎片率 mem_allocator redis 所使用的内存分配器,默认为jemalloc 需要重点关注的指标有:used_memory

Linux Vim三种工作模式(命令模式、输入模式和编辑模式)详解

偶尔善良 提交于 2020-02-14 19:36:36
通过前面的学习我们知道,Linux 系统中所有的内容都以文件的形式进行存储,当在命令行下更改文件内容时,常会用到文本编辑器。 我们首选的文本编辑器是 Vim(至于为什么,可查看《Vi和Vim的区别和联系》一节)。使用 Vim 编辑文件时,存在 3 种工作模式,分别是命令模式、输入模式和编辑模式,这 3 种工作模式可随意切换,如图 1 所示。 图 1 Vim 的三种工作模式 Vim的命令模式 使用 Vim 编辑文件时,默认处于命令模式。此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。 图 2 所示是在 CentOS 6.x 系统中 Vim 处于命令模式的状态示意图。 图 2 Vim 处于命令状态 Vim的输入模式 在输入模式下,Vim 可以对文件执行写操作,类似于在 Windows 系统的文档中输入内容。 使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令(各指令的具体功能如表 3 所示),当编辑文件完成后按 Esc 键即可返回命令模式。 表 3 各插入命令的具体功能 快捷键 功能描述 i 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动 I 在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令 o

Vim插入模式下backspace按键无法删除字符的问题

陌路散爱 提交于 2020-02-14 17:55:24
最近使用某个服务器编辑文件时,快捷键i进入插入模式后 下方不出现insert模式,却可以插入字符 但是backspace按键不能删除字符了,记录下解决办法: 1、在命令模式下: set nocompatible 2、设置backspace的工作方式: set backspace=indent,eol,start 来源: https://www.cnblogs.com/enumx/p/12308088.html

Kubernetes源码之旅:从kubectl到API Server

半城伤御伤魂 提交于 2020-02-14 14:52:12
概述: Kubernetes项目目前依然延续着之前爆炸式的扩张。急需能够理解Kubernetes原理并且贡献代码的软件开发者。学习Kubernetes源码并不容易。Kubernetes是使用相对年轻的Go语言编写,并且拥有大量的源代码。在这个系列的多篇文章里,我将为大家深入分析Kubernetes的关键源码,以及介绍那些帮助我理解源码的技术。我的目标是提供一系列的文章,让对于Kubernetes还较为陌生的开发者能够快速学习 Kubernetes源码 。 在第一篇文章里,我会分析从运行一个简单的kubectl命令到向API Server发送REST调用的源码执行过程。在开始深入Kubernetes之前,我建议你先阅读一下Julia Evans对Kubernetes架构的高级概述分析的文章。 Kubectl命令的基本运行 Kubernetes里的命令行接口叫做kubectl。它用来控制Kubernetes集群。阅读这部分源码实现是一个好的开始。我们要追踪的命令是 kubectl create -f ——它会从文件创建K8s资源。我们要创建的资源是使用了 Nginx 基础镜像的单副本 Pod 。下面是它的yaml描述: apiVersion: v1 kind: ReplicationController metadata: name: nginx spec: replicas: 1

linux命令后台运行

别来无恙 提交于 2020-02-14 11:52:56
参考 原文 有两种方式: 1. command & : 后台运行,你关掉终端会停止运行 2. nohup command & : 后台运行,你关掉终端也会继续运行 一、 简介 Linux/Unix 区别于微软平台最大的优点就是真正的多用户,多任务。因此在任务管理上也有别具特色的管理思想。 我们知道,在 Windows 上面,我们要么让一个程序作为服务在后台一直运行,要么停止这个服务。而不能让程序在前台后台之间切换。而 Linux 提供了 fg 和bg 命令,让你轻松调度正在运行的任务。假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,挂起这个程序,然后可以看到系统提示: [1]+ Stopped /root/bin/rsync.sh 然后我们可以把程序调度到后台执行:(bg 后面的数字为作业号) #bg 1 [1]+ /root/bin/rsync.sh & 用 jobs 命令查看正在运行的任务: #jobs [1]+ Running /root/bin/rsync.sh & 如果想把它调回到前台运行,可以用 #fg 1 /root/bin/rsync.sh 这样,你在控制台上就只能等待这个任务完成了。 & 将指令丢到后台中去执行 [ctrl]+z 將前台任务丟到后台中暂停 jobs 查看后台的工作状态 fg %jobnumber

Linux学习之CentOS(四)--CentOS下j2ee环境搭建

自作多情 提交于 2020-02-14 09:01:54
因为是做j2ee后台开发的,所以在Linux上搭建j2ee环境是每一个java程序员所需要掌握的。所以这篇随笔主要记录一下j2ee环境搭建过程,包括jdk、tomcat、eclipse的安装,( 对于mysql数据库的安装,将会在后面的随笔中记录 )。 一、jdk1.7的安装及环境搭建 在CentOS6.4安装完以后,系统默认安装了jdk1.6,以及jre-1.7.0-openjdk等版本,我们在这里选择安装自己的jdk1.7 首先先去oracle官网下载jdk1.7,我的CentOS是64位的,所以选择64位下载,(我下载的是 jdk-7u17-linux-x64.tar.gz) 大家可以根据自己的版本下载对应的jdk版本: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 因为我之前就已经将jdk1.7、tomcat、eclipse等软件制作成了ISO文件,所以直接通过将该ISO文件挂载到了CentOS上(我的ISO文件是挂载在了/media/路径下,之前一篇随笔已经写到很清楚了 Linux学习之CentOS(五)--让我有些郁闷的mount命令 ),通过一下命令我们可以查看ISO里面所有的文件: [root@xiaoluo 20130331_132633]#