Redis

2022-12-18  本文已影响0人  h2coder

前言

Redis官网:https://redis.io

Redis是一款非关系型数据库(NOSQL, not only sql),Redis存储的数据是在内存中的

特点:可以快速读取到数据,因为存储的数据是在内存中的。Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件

使用Redis能做什么

下载与安装

下载

Redis安装包分为windows版和Linux版,例如我下载的是Linux的4.0.0版本,文件名为redis-4.0.0.tar.gz

将安装包,使用FinlShell或其他客户端,上传到Linux的根目录下的/soft目录

安装

解压安装包到/usr/local目录,解压后,会生成一个redis-4.0.0目录,后续将在这个目录进行编译和安装

# 切换到soft目录
cd /soft
# 解压安装包
tar -zxvf redis-4.0.0.tar.gz -C /usr/local

由于Redis依赖gcc,所以需要先安装gcc

yum install gcc-c++

切换目录到/usr/local/redis-4.0.0,执行编译和安装

# 切换目录
cd /usr/local/redis-4.0.0
# 编译和安装
make && make install

安装完毕,src目录就会出现2个命令,redis-serverredis-cli,分别是启动Redis服务和进入Redis客户端命令行

配置Redis

配置Redis后台启动

/usr/local/redis-4.0.0目录下的redis.conf配置文件,拷贝到src文件下

# 进入src目录
cd src

# 将上层目录的redis.conf拷贝到当前目录
cp ../redis.conf .
# 或
cp /usr/local/redis-4.0.0/redis.conf .

修改src目录下,redis.conf文件,修改daemonize的值为yes,默认为no,就是前台启动(霸屏启动,无法进行其他操作)

# 编辑配置文件
vim redis.conf

# 编辑文件 将 daemonize  no 修改为 daemonize  yes
daemonize  yes

redis-server命令后,跟上配置文件的地址,就会以该配置文件进行启动

./redis-server redis.conf

使用如下命令,就可以查看端口占用情况,能看到6379被Redis占用,就为启动成功

netstat -ntlp

配置Redis密码

# root为设置的密码,自行修改
requirepass root
# -h host 设置访问的服务器ip地址,如果本机不用写
# -p port 设置访问端口,redis服务器的端口6379,如果端口没有改过,这个参数可以不用设置
# -a 如果服务器设置了密码访问,就需要指定这个参数
./redis-cli  -h 127.0.0.1   -p 端口号  -a 密码

配置Redis允许远程访问

# 编辑配置文件
vim redis.conf

# 编辑内容,将 "bind 127.0.0.1" 修改为 "bind 127.0.0.1 当前Linux的ip地址"
bind 127.0.0.1 192.168.208.128
# 发送关闭redis服务器命令,如果redis服务没有启动这步可以忽略
./redis-cli shutdown
# 再次启动服务器
./redis-server redis.conf
# 开放端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
# 重载防火墙
firewall-cmd --reload
# 查看开放的防火墙端口列表
firewall-cmd --list-ports

Redis数据类型

Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型

image-20220213112135501.png image-20210927111819871.png

Redis常用命令

更多命令可以参考

字符串string操作命令

注意:每个value限制了512MB大小

1637765702570.png

哈希hash操作命令

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

注意:hash里面包含的键值对个数有限制,限制42亿以内

image-20210927113014567.png 1637765894439.png

列表list操作命令

Redis 列表是简单的字符串列表,按照插入顺序排序,类似于java中的linkedList(双向链表),value的个数限制42亿个以内

应用场景:队列(数据,根据插入顺序排序),堆栈的实现(先进先出、先进后出)。这里排序不是实时的,而是插入后顺序就固定了。

例如:过去时的排行榜,昨日金曲排行榜

image-20220320163016707.png 1637794007133.png

集合set操作命令

Redis set 是string类型的无序集合。集合成员是唯一的,这就意味着集合中==不能出现重复的数据==,常用命令:

image-20210927113632472.png 1637796946224.png

有序集合sorted set操作命令

Redis sorted set 有序集合是 string 类型元素的集合,且不允许重复的成员。每个元素都会关联一个double类型的分数(score)

Redis正是通过分数来为集合中的成员进行从小到大排序。有序集合的成员是唯一的,但分数却可以重复

image-20210927114003383.png 1657092127790.png

通用命令

Redis中的通用命令,主要是针对key进行操作的相关命令:

上一篇下一篇

猜你喜欢

热点阅读