redis mysql查询数据类型_linux 常见的标识与Redis数据库详解
xxx@xxx:~$ :
第一个 xxx 只的是 用户名
第二个 xxx 代表的是 HOST主机
~ : 当前用户的根, 根的位置在 /home/用户名
$ : 代表当前用户是一个普通用户
# : 代表当前用户是超级用户
查看当前命令所在的位置
pwd
文件夹/文件的常见命令
mkdir
ls
rmdir
rm
创建文件夹mkdir
mkdir test
mkdir .test
mkdir ~/test
mkdir /home/xxx/test
-- 递归的创建 test/a/b目录
mkdir -p test/a/b
-v : 显示创建目录的信息
查看目录下的所有文件/文件夹 ls
-l : 以列表的形式格式化数据
drwxr-xr-x 2 xxx xxx 4096 9月 1 18:37 公共的
drwxr-xr-x 2 xxx xxx 4096 9月 1 18:37 模板
...
第一列由10个字符组成,由 0-9 标识每一个字符
0 : d (文件夹) , - (文件), l (软连接)
1-3: 文件所属用户的权限
4-6: 文件所属用户组所在的权限
7-9: 其他用户所对应的权限
r : 读
w : 写
x : 可执行
第三列 代表文件所属用户
第四列 代表文件所属用户组
-a : 显示包含隐藏的文件 和 . 和 …
-A : 不显示 . 和 …
常见的命令ls -l
ls -la
ls -ld
ll ==> ls -lap
删除文件夹 rmdir / rm
rmdir : 删除空目录
rmdir -p 路径 递归的删除空目录
rm 常见的参数
-f : 强制删除、忽略不存在
-i : 删除的时候、进行提示
-r : 递归的删除文件夹以及下面的所有的内容
-d : 删除空目录
rm -f
rm -rf
rm -i
rm -ri
PS: 禁止使用一个命令 rm -rf /
文件的基本操作
文件的创建
touch file : 新建一个空的文件
文件的编辑
vi 编辑器
vim 编辑器
sudo apt install vim
vim的三种操作模式
命令模式
编辑模式
命令底线模式
vim命令模式
当用户输入 vim 文件名 回车后、将自动进入命令模式
dd : 删除光标所在的行
xdd : x代表删除的行数
d$ : 从光标所在的位置删除到行的末尾
d0 : 从光标所在的位置删除到行的头部,不删除光标所在的位置
dG : 光标所在的位置,删除到底部
dxG : 从光标所在的位置,删除到指定的行
yy : 复制光标所在的行
xyy : x 代表复制的行数
y$ : 从光标所在的位置 复制到行的末尾
y0 : 从光标所在的位置 复制到行的头部
p : 粘贴
gg : 快速设置光标的位置到 文档的头部
G : 移动到文档的尾部
xG : x 代表 光标移动到的行数
. : 重复上一个命令
/ : 从上到下搜索
? : 从下到上搜索
搜索到内容后,如果要查找下一个,先按回车,在按 n / N
vim 编辑模式
从命令模式进入到编辑模式,需要按下
i : 在光标所在的位置 前 插入数据
a : 在光标所在的位置 后 插入数据
o : 在光标所在行的 下一行(新的空白行)插入数据
如果从编辑模式要切换到 命令模式,则按下 ESC
vim 命令底线模式
从命令模式切换到命令底线模式 使用 : 即可
:w 保存,不退出
:q 不保存,退出(文件未改变)
:wq 保存并退出
:w! 强制写入,针对只读文件
:q! 强制退出,(文件被修改、且不保存)
:wq! 强制保存并退出
:set nu 显示行数
:set nonu 关闭行数
查看文件
cat -n file
nl file
tail -f file : 主要用来做日志的监控
文件的复制
cp -r source dict : 拷贝目录/文件
-r : 用来拷贝目录
-f : 强制性文件拷贝
-i : 覆盖的时候进行提示
两个linux服务器数据进行拷贝
将远程服务器的数据、拷贝到本地服务器
scp [-r] user@host:文件路径 拷贝到本地路径
将本地服务器的数据、拷贝到远程服务器
scp [-r] 本地路径 拷贝到 user@host:文件路径
文件的移动
mv source dest
如果 dest 是一个目录的话,是文件的移动
如果 dest 是一个文件的话, 是文件的重命名
文件的权限
r 读 4
w 写 2
x 可执行 1
chmod [-R ] 777 文件/文件夹
u 用户
g 组
o 其他
a 所有
chmod u+r 文件
chmod u-r 文件
更改文件的所属用户
chown [-R] 用户名[:组名] 文件
添加组/用户 groupadd, adduser, useradd
-- 添加一个 组
sudo groupadd test01
-- 删除一个 组
sudo groupdel test01
-- 创建一个 admin账户, 并设置了 该账户的主目录
sudo useradd -g test01 -d /home/admin -m admin
-- 创建一个禁止登录的账户 (安装服务的比较常用)
sudo useradd -s /bin/false admin (ubuntu)
sudo useradd -s /sbin/nologin admin (centos)
-- 把一个 用户 和 组进行关联
adduser 用户 组
# 查询 admin 用户的信息
id admin
-- 删除用户
userdel -r admin
usermod : 用来修改用户
groupmod : 用来修改组
其他命令
查看某个服务的进程信息
ps -ef | grep 某个服务的名字
杀死某个进程
sudo kill -9 pid
在 linux 搜索文件
sudo find / -name mysql*
Redis数据库
Redis是一个NoSQL(非关系型数据库)
Redis是一个基于内存的 KEY-VALUE 结构的数据库
Redis是一个基于单线程的数据库
Redis支持的存储的数据类型
String 字符串
Hash 哈希
List 列表
Set 集合
ZSet 有序集合
RDBMS
高度组织化结构化数据
结构化查询语言(SQL) (SQL)
数据和关系都存储在单独的表中。
数据操纵语言,数据定义语言
严格的一致性
基础事务
NoSQL
代表着不仅仅是SQL
没有声明性查询语言
没有预定义的模式
键 - 值对存储,列存储,文档存储,图形数据库
最终一致性,而非ACID属性
非结构化和不可预知的数据
CAP定理
高性能,高可用性和可伸缩性
Linux安装 redis
自动安装
sudo apt install redis-server
sudo systemctl restart redis
sudo systemctl start redis
sudo systemctl stop redis
手动安装
下载 redis安装包
wget http://download.redis.io/releases/redis-6.0.7.tar.gz
解压 redis-6.0.7.tar.gz 到 ~/app
tar -zxvf redis-6.0.7.tar.gz -C ~/app
先切换到 app目录
cd ~/app
创建一个软连接
ln -s ~/app/redis-6.0.7 ~/app/redis
编译 redis
-- 如果提示 make 不存在,则 安装 sudo apt install make
-- 如果提示 /bin/sh: 1: cc: not found ,则需要安装 sudo apt install gcc
make MALLOC=libc
将 redis的命令安装到 /usr/local/bin目录
sudo make install
启动 redis
redis-server ~/app/redis/redis.conf
通用命令
5种数据类型都支持的命令
ttl : 查看某个键的剩余存活时间,单位是 秒,-2代表过期(不存在), -1 代表没有过期时间
pttl : 查看某个键的剩余存活时间,单位是 毫秒
keys * : 查看当前数据库下,所有的键
del key : 删除键
type : 查看键对应的类型
string命令
set key value [ex seconds] [px milliseconds] [nx|xx]: 添加一个字符串
setnx key value : key如果不存在,才添加 key-value
mset key value key value … : 批量设置多个键值对数据
getset key value : 将 key 设置为 value ,并返回 key的旧值
get key : 根据键获取对应的值
mget key… : 批量获取多个键对应的值
getrange key start end : 获取key对应字符串的 范围
strlen key : 获取 key 对应值的长度
incr key : 对 key对应的值 + 1, 值必须是一个数字类型的字符串
incrby key increment: 对 key对应的值 + increment, 值必须是一个数字类型的字符串
decr key : 自减 1
decrby key increment
setex key seconds value : 添加一个字符串并设置过期时间,单位是秒
psetex key milliseconds value : 添加一个字符串并设置过期时间,单位是毫秒
Hash命令
hset key field value : 添加一个字典、字典的键 field ,值是 value
hmset key field value [field value]… 批量添加字典中的键值对
hget key field : 获取字典中 field 对应的值
hgetall key : 获取 key 对应的字典
hkeys key : 获取 key对应的字典对应的所有的键
hvals key : 获取key 对应的字典对应的所有的值
hlen key : 获取字典对应的长度
hincrby key field increment : 将字典中对应 field属性的值自增 increment
hexists key field : 判断字典中是否存在 field属性
hdel key field : 删除字典中对应的 field 属性和值
list命令
lpush key val… : 向列表的头部插入数据
rpush key val… : 向列表的尾部插入数据
linsert key before/after ele val : 向 ele元素的前/后插入 val
lrange key start end : 查询从 start - end 区间的 数据、
lindex key index : 查询 index位置的元素
lset key index ele : 修改index位置的元素为 ele
lpop key : 删除第一个元素
rpop key : 删除最后一个元素
lrem key count val :
count = 0 : 删除列表中所有的 valcount > 0 : 从列表的头部删除 count 个 valcount < 0 : 从列表的尾部删除 count个 val
llen key : 获取列表长度
ltrim key start end : 截取列表中从start -end 之间的元素,返回列表
set命令 sadd key member… : 添加成员smembers key : 查看集合中所有的成员srem key member … : 删除指定的成员spop key [count] : 随机从集合中删除 count个成员,如果不指定 count ,默认是1scard key : 获取集合的长度sismember key member : 判断 member 是否是集合中的成员srandmember key [count] : 随机从集合中 返回 count个成员
zset命令
zadd key score member [score member]… : 向集合中添加成员和分数、分数是一个double 类型,用来进行排序
zrange key start end [withscores] : 升序查询所有的成员
zrevrange key start end [withscores] : 降序查询所有的成员
zrangebyscore key min max : 升序查询分数在 min-max 之间的所有成员
zrevrangebyscore key max min : 降序查询分数在 min-max 之间的所有成员
zrank key member : 查询成员在集合中的索引位置
zrevrank key member : 查询某个成员在集合中的排名,从0开始
zscore key member : 查询某个成员的分数
zcount key min max : 查询分数在min-max之间的人数
zcard key : 获取成员数量
zrem key member… : 删除集合中的指定成员
zremrangebyscore key min max : 移除成绩在 min-max之间的所有成员
zremrangebyrank key start stop : 移除排名从 start-stop之间的所有成员
zrangebylex key min max: 要求有序集合中所有的成员分数相同
min - 代表最小值, ( 代表不包含 [ 代表包含
max + 代表最大值, ( 代表不包含 [ 代表包含
zrangebylex zset - + : 查询集合中所有数据
zrangebylex zset (a [d : 查询集合 大于 a 小于等于d
zrangebylex zset [a (d : 查询集合 大于等 a 小于d
到此这篇关于linux 常见的标识与Redis数据库的文章就介绍到这了,更多相关linux Redis数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章:

/etc/hosts/中HOSTNAME错误导致lsnrctl启动错误
系统环境:REDHAT LINUX5.4 ORACLE10.2.0.4,是通过虚拟机复制另外一台数据库系统环境后安装ORACLE获得。故障现象:ORACLE安装正常,本地服务正常,本地数据通过IMP可以正常导入,但是LSNRCTL能够启动ÿ…

16_python_面向对象
一、面向对象和面向过程的区别1、面向对象:一切以对象为中心。有相同属性和动作的结合体叫做对优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易…

怎么用canvas画秒针_用canvas画一个钟表
body{background: #000000;}#c1{background: #FFFFFF;}span{color: #FFFFFF;}var oCdocument.getElementById("c1");var oGcoC.getContext(2d);setInterval(function(){ //循环计时器每一秒调用一次,相当于每隔一秒画一次表盘oGc.clearRect(0,0,oC.offset…

每日英语:China's Labor Market Tightens
Job cuts in China appear to be on the rise, dimming prospects for a labor market that has been a resilient bright spot amid a slowdown in the worlds second-largest economy. dimming:调光;变暗 resilient: 弹回的…

大数据-spark-hbase-hive等学习视频资料
不错的大数据spark学习资料,连接过期在评论区评论,再给你分享 https://pan.baidu.com/s/1ts6RNuFpsnc39tL3jetTkg 转载于:https://www.cnblogs.com/xjh713/p/9704251.html

redis学习 -- 简单动态字符串
Redis没有使用C语言字符串的形式,通过’\0’作为结尾,而是使用了简单动态字符串(simple dynamic string)。 当Redis使用的字符串不需要修改字符串的内容的时候,可以使用C语言提供的字符串,当需要修改内容的时候就使用的是简单动态…
【stanford C++】容器III——Vector类
主要介绍如下5个容器类——Vector, Stack,Queue,Map和Set,各个都表示一重要的抽象数据类型。另外,各个类都是一些简单类型的值的集合,所以称它们为容器类。 暂且我们先不需要知道它们是如何实现的ÿ…

linux编译安装mysql 5.1_linux编译安装mysql5.1.x
安装mysql,安装前准备如果mysql用户不存在,那么添加mysql用户groupadd mysqluseradd -g mysql mysqlmysql编译安装make时间特别长wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.70.tar.gztar -zxvf mysql-5.1.70.tar.gzcd mysql-5.1.70…

Windows PowerShell 批量迁移Windows用户信息
这里说一下我在服务器上本地用户帐号、组的迁移 这里用到的迁移工具是 Windows PowerShell 迁移支持虚拟机和实体机器的迁移,虚拟机和虚拟机的迁移 但是不支持不同语种之间的迁移,比如英语向中文迁移 这里我实验的是虚拟机和虚拟机的迁移 系统是Windows…

css中position的几个值
1. staitic:该值符合文档的初始排版,其中设置的与位置有关的值不起作用。2.relative 该值的偏移量,是在文档初始排版的基础上进行排版,并且覆盖顺序是最新输出的在最上面3.absolute该值元素的定位是以网页文档左上角位基准,并且不…

一个较为详细的ETL系统实现方案
转至:http://www.cognoschina.net/club/viewthread.php?tid5627 1 ETL流程及调度设计(ETL Schedule)(PSP)1. ETL调度的目标快速见效系统要抽取39家分行四个系统的数据进行加工处理,数据从下传文件到ODS库,ODS库到LDM&…

python与anaconda区别_anaconda和python的区别是什么?
anaconda和python的区别是什么?Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。使用python需要下载安装执行python代码的环境。官方的Python包含了核心的模块和库,为了完成其他任务,需要安装其他的模块和库。Anaconda 是Py…

opencv 1 图像载入、显示和输出
三个函数 imread() namedWindow() inshow()1. imread 函数原型: Mat imread(const string& filename, int flags 1 );参数解析: const string& finename 将要载入的图片路径名。 Windows操作系统下面支持如下类型的图片: Window…

英文申请书范例
Dear Sir or Madam, I am applying for the position of Executive Assistant as advertised in the Recruitment Daily last evening. 我来应聘昨天晚上在每日招聘上发布的行政助理一职。 I have over five years of experience within this role during which time I have de…

c++ ofstream使用方法
ofstream是从内存到硬盘,ifstream是从硬盘到内存,流缓冲即是内存空间。 插入器<< : 向流输出数据。 cout << "test!" << endl; 将字符串输出到标准输出流。 析取器>> : 从流中输入数据 cin >> x; 从标准输入流…

JAVA 继承内存模型_Java内存模型
JVM的组成类加载器(classloader)执行引擎(execution engine)运行时数据区域(runtime data area)对于Java程序员来说,在虚拟机自动内存管理机制下,不再需要像C/C程序开发程序员这样为内一个new 操作去写对应的delete/free操作,不容易出现内存泄…

Error: The INF file contains Unicode characters that could not be converted correctly
昨天第一次为自己的windows mobile程序制作CAB安装包,但是在生成过程中,却出现了这样一个问题:编译完成 -- 0 个错误,0 个警告time -> G:\WindowsMobile\time\time\bin\Debug\time.exe------ 正在启动项目“SmartDeviceCab1”的…

嵌入式开发板设置无密码登录
本次配置需要修改的ssh登录的配置文件 vi /etc/ssh/sshd_config允许root用户远程登录 设置PermitRootLogin参数值为yes #LoginGraceTime 2m PermitRootLogin yes #StrictModes yes #MaxAuthTries 6 #MaxSessions 10允许无密码登录 设置PermitEmptyPasswords 参数值修改为ye…

2012/08/27 夜
杂记于2012/08/27 唉,,最近公司在搬家,一直没有时间来看技术方面的资料,丫的上个星期天还接到第二天凌晨3点钟呢。。。唉。。有点受不了啊。。这苦逼的运维工作,,,呵,来说说这其中让…

存储过程和函数 PROCEDURE FUNCTION
SQL语句执行的时候,要首先编译,然后在被执行。在大型数据库系统中,为了提高效率,将为了完成特定功能的SQL语句集进行编译优化后,存储在数据库服务器中,用户通过指定存储过程的名字来调用执行。 具体而言&am…
Android——学习:线性布局权重分配
LinearLayout在Android中被广泛使用,LinearLayout有一个比较重要的属性——android:layout_weight。按照字面理解就是该控件的权重,这个值默认是 零(0)。 举个例子: 在下图中,整个界面是一个Linearlayout&a…

java bean配置文件_Spring中多配置文件及引用其他bean的方式
Spring多配置文件有什么好处?按照目的、功能去拆分配置文件,可以提高配置文件的可读性与维护性,如将配置事务管理、数据源等少改动的配置与配置bean单独分开。Spring读取配置文件的几种方式:1、使用Spring自身提供的ApplicationCo…

putty 串口登录开发板
安装putty 多个平台均可以安装putty pc端配置 使用串口线连接开发板 ls /dev 查看是否出现类似于ttyUSBx的文件 sudo putty 弹出页面,选择Serial Serial line填写/dev/ttyUSBx Speed填写115200(根据不同开发板,选择不同参数) 依次点击Load࿰…

win7下解决Android SDK Manger慢
2019独角兽企业重金招聘Python工程师标准>>> 今天准备做个Android小程序,以前配置的环境太久了,于是想配最新,但是花了大半天的时间遇到各种问题,最终还是配置好了。 1、首先修改C:\Windows\System32\drivers\etc\host…

Linux 工具进阶
参考网址 https://linuxtools-rst.readthedocs.io/zh_CN/latest/advance/index.html 转载于:https://www.cnblogs.com/artesian0526/p/9712258.html

ASP.NET MVC:利用ASP.NET MVC4的IBundleTransform集成LESS
背景 LESS确实不错,只是每次写完LESS都要手工编译一下有点麻烦(VS插件一直没有安装好),昨天在官方看到了如何用IBundleTransform集成LESS,今天就记录一下。 参考资料:http://www.asp.net/mvc/tutorials/mvc…

java锁屏_JAVA设置桌面不锁屏设置
//下面是编译命令// javac -encoding utf-8 Main.javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class Main extends WindowAdapter {JLabel label null;public Main() {JFrame jFrame new JFrame("保持打开就不会锁屏");Container …

网线直连开发板
pc 端配置 点击pc端无线链接图标编辑链接以太网编辑IPv4设置方法:与其他计算机共享根据putty获取的动态ip使用ssh登录 解决 ip 无法登录问题 设置 pc 端 ip 和开发板 ip 在同一个网段 比如开发板 ip 是 10.42.0.123 可以设置自己机器的 ip 为 10.42.0.11 sudo i…

linux系统中指定端口连接数限制
限制22端口只能有两个连接 [code] iptables -P INPUT DROP iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --dport 22 -m connlimit --connlimit-above 2 -j REJECT iptables -A INPUT -p tcp --dport 22 -j ACCEPT [/code] 在此…

PHP-错误处理
错误处理 一、错误的分类 1、语法错误: 程序没法运行,直接提示语法错误。 2、运行时错误: 只有程序运行到某行,或在某些特定的情形下运行才会发生的错误。 3、逻辑错误: 程序从头到尾运行都没有发生(并提示…