一、Redis简介

Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。
它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,
同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区

Redis用途:1. 数据库 2. 缓存
集群:哨兵、主从、分片式

学习网址:https://www.w3cschool.cn/redis/
www.redis.cn
www.redis.net.cn

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

二、redis安装

①首先把压缩包拖进自己要存放的目录
端口默认6379
②通过命令解压redis

tar -zxvf redis-5.0.0.tar.gz 

在这里插入图片描述

③安装gcc

yum install -y gcc

④进入 redis的解压目录,执行make进行编译

在这里插入图片描述

⑤修改redis为守护进程(方便启动redis也能够输入命令)

演示没有修改守护进程

启动redis

./src/redis-server redis.conf

在这里插入图片描述
在这里插入图片描述

启动之后,就什么也操作不了,因为是禁止输入其他命令,如果输入那么服务器就会停止

修改守护进程运行(这边博主备份一下)

cp redis.conf redis.conf.back20221024

修改redis.conf文件
假如没有使用用户管理工具,那么就使用原始的方法进行修改

vi redis.conf

通过 /+要查询的单词进行快速查询,如果第一个不是,按n键就是查找出的下一个

在这里插入图片描述
在这里插入图片描述

将daemonize no 改为 daemonize yes

在这里插入图片描述

启动redis(根据实际路径)

./redis-server ../redis.conf

在这里插入图片描述

测试是否启动

./src/redis-cli

ping(如果返回pong说明成功)

在这里插入图片描述

到目前为止redis安装成功了,但是还不可以连接,因为有权限问题

开发端口

firewall-cmd --zone=public --add-port=6379/tcp --permanent

更新并且查看端口号列表

firewall-cmd --reload && firewall-cmd --zone=public --list-ports

在这里插入图片描述

授权,允许远程连接(修改redis.conf文件)

vim redis.conf

查找bind 127.0.0.1

在这里插入图片描述
在这里插入图片描述

然后设置密码,查找requirepass

在这里插入图片描述

杀掉该进程

kill -9 图中红框的数字

在这里插入图片描述

重新启动Redis,测试Redis是否能够连接

在这里插入图片描述

连接成功

三、Redis常用命令

3.1 前置工作

因为我们加入了守护进程,所有以前直接连接不行,必须带密码和用户端口

-h(主机ip)-p(端口) -a(密码)

./src/redis-cli -h 127.0.0.1 -p 6379 -a 123456

在这里插入图片描述

3.2 string

添加/修改数据

set 键 值

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

删除

del 键

get 键

查看类型

type 键

//string 说明type返回的是键值对存储类型,而不是值存储类型

查看所有或者指定的key

keys *

给键值对设置过期时间

SETEX KEY_NAME TIMEOUT VALUE

在这里插入图片描述

获取键值对剩余的存活时间

ttl 键

在这里插入图片描述

3.3 Redis哈希(Hash)

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

同时将多个field-value设置到哈希表key中

hset key field1 value1 [field2 value2

案例

hset user name zs age 12 sex nv

在这里插入图片描述
在这里插入图片描述

获取指定的字段值

语法
hget key field
案例
hget user age

在这里插入图片描述

删除指定的字段值

语法
hdel key field  
案例
hdel user age

在这里插入图片描述
在这里插入图片描述

查询指定key的所有字段

语法
hgetall key
案例
hgetall user

在这里插入图片描述

获取指定key中的长度

语法
hlen key 
案例
hlen user

在这里插入图片描述

3.3 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开始,同时先进后出)

在这里插入图片描述

3.4 Redis集合(Set)

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

向集合添加一个或多个元素

语法
sadd key value1 [value2]
案例
sadd hobby lanqiu zuqiu bingpangqiu zhuoqiu

在这里插入图片描述
在这里插入图片描述

获取集合中的元素数量

语法
scard key
案例
scard hobby

在这里插入图片描述

是否存在

语法
exists key
案例
exists hobby (1代表存在 0代表不存在)

在这里插入图片描述

3.5 有序集合(sort set)

参考文档
https://www.w3cschool.cn/redis/redis-sorted-sets.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐