Redis-Linux中安装Redis、命令操作Redis

目录

一、Redis简介

 NoSQL与SQL的区别

 二、Linux上安装redis

上传并解压redis.gz

进入 redis的解压目录,执行命令 make

​编辑

修改redis为守护进程

们测试一下能否远程连接RedisDesktopManager客户端

 开放6379端口

 授权,允许远程连接

三、redis命令 

Redis字符串(String)

 Redis哈希(Hash)

Redis列表(List)

Redis集合(Set)


一、Redis简介

Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。

它支持 字符串(String)、哈希表(hash)、列表(list)、集合(set)、有序集合(zset-- sort set),位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区

Redis用途:1. 数据库 2. 缓存

作用:提升程序运行的效率与性能

集群:哨兵、主从、分片式

#下载
redis-5.0.0.tar.gz(linux)
Redis-x64-3.2.100.msi(window安装版)
Redis-x64-3.2.100.zip(window解压版)

 NoSQL与SQL的区别

NoSQl数据库(非关系数据库):Redis、Ehcache、MongoDB等 ----直接通过键值对的方式取值,数据之间不存在关系

SQL数据库(关系数据库):SQLServer、Oracle、MySQL等 ----通过查询表的方式获取数据

 二、Linux上安装redis

上传并解压redis.gz

将Redis的安装包拖进MobaXterm中Redis-Linux中安装Redis、命令操作Redis_第1张图片

#1.解压redis
tar -zxvf redis-5.0.0.tar.gz 

Redis-Linux中安装Redis、命令操作Redis_第2张图片

#2.安装gcc
yum install -y gcc

Redis与Tomcat最大的区别就是,redis的使用需要gcc的环境支持,才能使用

Redis-Linux中安装Redis、命令操作Redis_第3张图片

安装好之后还需要将Redis编译一下

进入 redis的解压目录,执行命令 make

#3.编译redis
cd /redis-5.0.0
 make(需进入Redis的解压目录执行命令-编译)

Redis-Linux中安装Redis、命令操作Redis_第4张图片

 编译完成之后,redis就能运行了,但是是非守护进程方式。而非守护进程不能输入其他命令,想输入的时候只能Ctrl+c,但Ctrl+c的时候服务会停止,所有我们需要修改redis的配置,改成守护进程

注:Redis端口号:6379

修改redis为守护进程

#4.修改redis.conf文件,将Redis修改为守护进程
先将redis.conf 备份
cp redis.conf  redis.conf.bak20220809
进入redis.conf文件,将daemonize no 改为 daemonize yes

Redis-Linux中安装Redis、命令操作Redis_第5张图片

注意:当连接工具不能直接打开文件编辑,那么需要通过以下方法进行快速查找

# Linux在文件中查找关键字 vim xxx.conf 先"/" 然后"关键字" 再enter; 如果第一个不是你想找到的目标,"n"指找下一个
#5.启动redis
./(src-需要在src里面/)redis-server ../redis.conf 
通过哪个配置文件去启动Redis

Redis-Linux中安装Redis、命令操作Redis_第6张图片

#6.测试redis启动是否成功
./(src/)redis-cli
ping
(会回应一个 PONG)

Redis-Linux中安装Redis、命令操作Redis_第7张图片

 

们测试一下能否远程连接RedisDesktopManager客户端

Redis-Linux中安装Redis、命令操作Redis_第8张图片

可以看到,是连接不上的。

原因:1.redis的端口号6379没有开放。2. redis.conf 里面还缺少了配置

 开放6379端口

开放redis端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
#更新防火墙规则
firewall-cmd --reload
#查看防火墙列表
firewall-cmd --zone=public --list-ports

Redis-Linux中安装Redis、命令操作Redis_第9张图片

 授权,允许远程连接

再次修改redis.conf文件Redis-Linux中安装Redis、命令操作Redis_第10张图片

更改密码Redis-Linux中安装Redis、命令操作Redis_第11张图片 更改完之后查看一下redis的服务是否是启动的 

服务还是启动的,但我们的配置已经更改了,所以我们需要杀掉redis进程

kill -9 进程 pid 
再次启动
./(src/)redis-server ../redis.conf
就能远程连接了 

 注意 lsof -i:6379 里的数字Redis-Linux中安装Redis、命令操作Redis_第12张图片

再看一下进程,就会发现已经关闭了 

Redis-Linux中安装Redis、命令操作Redis_第13张图片 再次远程连接RedisDesktopManager 

Redis-Linux中安装Redis、命令操作Redis_第14张图片

看到这个就代表连接成功了。

再次测试redis启动是否成功 

为什么我们ping了之后没有返回pong呢?

因为我们配置了外连接和密码,测试redis启动的命令也需要更改

客户端redis-cli链接redis,重新测试
./src/redis-cli -h 127.0.0.1 -p 6379 -a 123456
ping
select 1

 -h:本机IP地址,-p:端口号,-a:密码

Redis-Linux中安装Redis、命令操作Redis_第15张图片

三、redis命令 

 切换数据库

Redis字符串(String)

String(字符串) 它是redis最基本的数据类型,一个key对应一个value,需要注意是一个键值最大存储512MB 

# set key          //保存
set name zs
set age 12
set sex nan

# get key          //获取
get name

# del key        //删除
del name

# type key         //查看类型
type age   //string 说明type返回的是键值对存储类型,而不是值存储类型

# keys *或keys key //查看所有或者指定的key
keys *

# SETEX KEY_NAME TIMEOUT VALUE// 给键值对设置过期时间
setex zs 60 live

# ttl key// 获取键值对剩余的存活时间
ttl zs

Redis-Linux中安装Redis、命令操作Redis_第16张图片

 Redis哈希(Hash)

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

# hset key field1 value1 [field2 value2]  #同时将多个field-value设置到哈希表key中
hset user name zs age 12 sex nv

# hget key field                          #获取指定的字段值
hget user age

# hdel key field                          #删除指定的字段值
hdel user age

# hgetall key                             #查询指定key的所有字段
hgetall user

# hexists key field                       #查询指定key中的字段是否存在
hexists user name

# hlen key                                #获取指定key中的长度
hlen user

Redis列表(List)

Redis列表是简单的字符串列表,按照插入顺序排序。

你可以添加一个元素到列表的头部(左边)或者尾部(右边)

# lpush key value1 value2 value3          #将一个或多个值插入到列表头部
lpush en a b c d e f g

# llen key                                #获取列表的长度
llen en

# lindex key index                        #根据索引获取列表中的元素
lindex en 1 #返回f,说明下标从0开始,同时先进后出

# lrange key start sop                    #查看指定范围内的元素
lrange en 1 3#返回fed,说明下标从0开始,同时先进后出

Redis集合(Set)

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

# sadd key value1 [value2]                #向集合添加一个或多个元素
sadd hobby lanqiu zuqiu bingpangqiu zhuoqiu

# scard key                               #获取集合中的元素数量
scard hobby

# exists key                              #是否存在
exists hobby

你可能感兴趣的:(Linux,redis,数据库,nosql,linux,缓存)