Redis配置与使用

目录

Redis配置与使用

一、安装redis

安装gcc

然后再make

更改redis配置文件

二、Redis基本使用

1.本地连接

2.远程连接

在这里说一下关于启动redis服务器并且登录进redis客户端以及如何查看服务进程的流程


Redis配置与使用

首先有个概念:非关系型数据库不一定就是存储在内存中的

Redis是最为流行的缓存服务器(非关系型数据库):数据是保存在内存中的,所有的IO操作全都在内存中进行,速度非常快,性能非常高

如果断电了或停止服务,数据就会消失,而内存型数据库恰好可以弥补类似于MySQL等关系型数据库在硬盘中进行IO操作的速度上的局限。

所以最常见的是关系型数据库和非关系型数据库同时配合使用。关系型数据库解决数据永久存储和业务逻辑中表与表之间;而内存型数据库一般处理性能问题

Redis是key-value键值对的存储格式,非关系型,用key=value的方式操作数据,就比如说a=100 name=woniu ,所以为了找到值,只需要找到key就可以了。而关系型数据库是二维表+SQL语句操作。

image-20231224202330466

客户端向服务器请求数据,服务器向数据库请求数据,关系型数据库可以将数据库读写进内存型数据库,然后后面的读写都对内存型数据库读写就好了

计算机内部距离CPU越近的设备,运行速度最快

image-20231224205721321

混合硬盘速度

image-20231224210214040

硬盘速度

image-20231224210149541

内存与缓存的速度

一、安装redis

 Redis的安装过程基于C语言源代码,所以安装之前确保已经安装成功 gcc ,如果没有则 yum install gcc -y 
 ​
 然后再对Redis文件上传,解压,编译,安装
 ​
 解压:tar -zxvf redis-6.2.5.tar.gz
 切换目录: cd redis-6.2.5
 编译: make
 安装:make install  #默认位置: /usr/local/bin
 也可以在安装过程中指定自己目录:  make PREFIX=/usr/local/redis install
 ​
 切换到redis目录:cd /usr/local/bin
 复制配置文件: cp ./redis-6.2.5/redis.conf /usr/local/bin
 启动服务器: ./redis-server redis.conf

安装gcc

然后再make

image-20231224211857129

image-20231224212320522

如果make过程中遇见了以下错误,使用make参数 make MALLOC=libc

image-20231224212713306

make结束之后,再执行make install就OK了

更改redis配置文件

image-20231224213613262

我么可以看到,这目录下的所有文件都是可执行文件

由于在/usr/local/bin目录下执行 ./redis-server 时,需要去执行 redis.conf 这个配置文件,而 redis.conf 这个文件在 ~/redis-6.2.5/ 目录下,所以,如果 /usr/loacl/bin 目录下没有该文件就需要 ./redis-server ~/redis-6.2.5/redis.conf 当然,我们可以选择将 ~/redis-6.2.5/redis.conf 文件复制到 /usr/local/bin/ 目录下,此时就可以直接在 /usr/local/bin 目录下执行语句 ./redis-server redis.conf 就好了

如下所示:

image-20231224214240062

image-20231224223905935

看到这样就成功了

二、Redis基本使用

1.本地连接

 默认情况下,可以直接在本地redis安装目录 /usr/local/bin 中,直接运行 ./redis-cli 便可以连接到redis服务器
 ​
 [root@mycentos bin]# ./redis-cli
 127.0.0.1:6379> 
 127.0.0.1:6379> ping
 PONG
 此时,表明客户端已经成功连接到本地服务器,并且进入了redis命令提示符
 如果是远程连接的话就是用带有-h 和 -p的参数,在这里 -p 表示 端口号
 [root@mycentos bin]# ./redis-cli -h 127.0.0.1 -p 6379
 127.0.0.1:6379> 
 ​
 运行下属命令,确认基本功能可以使用
 #注意,redis里只有字符类型数据
 127.0.0.1:6379> dbsize
 (integer) 0
 127.0.0.1:6379> 
 127.0.0.1:6379> set word helloword
 OK
 127.0.0.1:6379> get word
 "helloword"
 127.0.0.1:6379>  
 127.0.0.1:6379> set key 123
 OK
 127.0.0.1:6379> get key
 "123"
 127.0.0.1:6379>
 127.0.0.1:6379> set count 99
 OK
 127.0.0.1:6379> get count
 "99"
 127.0.0.1:6379>  
 127.0.0.1:6379> incr count
 (integer) 100
 127.0.0.1:6379> 
 127.0.0.1:6379> incrby count 15
 (integer) 115
 ​
 127.0.0.1:6379> set string 西安邮电
 OK
 127.0.0.1:6379> 
 127.0.0.1:6379> get string
 "\xe8\xa5\xbf\xe5\xae\x89\xe9\x82\xae\xe7\x94\xb5"
 #要想最后显示的是正常中文,那么在开启客户端时需要添加参数 --raw,即: ./redis-cli --raw
 ​
 ./redis-benchmark 是用来测试reids性能的

image-20231225171755906

2.远程连接

 1.防火墙的问题
 [root@mycentos bin]# firewall-cmd --add-port=6379/tcp --permanent
 success
 [root@mycentos bin]# firewall-cmd --reload
 success
 ​
 ​
 2.编辑 redis.conf 配置文件,修改如下选项
 ​
 查找 bind,将已有的 bind 127.0.0.1 -::1 注释掉
 ​
 查找 protected-mode yes,将其修改为 protected-mode no。(这种方式不安全)
 也可以保留 protected-mode yes,但是要设置密码:requirepass p-0p-0p-0
 ​
 完成上述配置之后,使用kill redis-server 停止 Redis 服务器,再重启 Redis 即可
 ​
 vi界面查找 /daemonize ,将 daemonize no 改为 daemonize yes 这样就可以进行远程连接了

此时,使用 Redis 客户端登录时,必须通过参数 -a 指定密码

 ./redis-cli -h 192.168.1.117 -p 6379 -a p-0p-0p-0
 如果登录本机,并且端口号是默认的6379,则可以不使用参数 -h 和 -p
 如果是远程登录 Redis 服务器 ,则 -h 必须明确指定

使用 Redis Desktop Manager 对 redis 服务器进行可视化操作

解释一下上面的意思

进入vi界面之后,使用 /bind 查找字符串,直到找到没有被注释的有效字符串 127.0.0.1 -::1 表示只支持本地连接

两种修改方案:

1.直接注释掉

2.ip地址改为0.0.0.0

数据类型keyValue注意事项
字符串(string)username蜗牛学苑Redis没有数字类型,归为字符串类型中
passwordp-0p-0p-0
哈希(Hash)articlekey:article Value:123Hash类型的值本身又是一个键值对的字典类型
articlekey: headline Value: Redis缓存策略详解
commentKey: content Value: 后台架构的性能优化
列表(List)headlineFlask的路由规则解析列表中的值可以重复,也可以存JSON数据
JQuery与VUE的应用场景
RESTful的接口规范研究
集合(Sets)phone12345678910集合的用法与列表类似,只是存的值不允许重复
12345678910
12345678910
有序集合(Sorted Sets)phone12345678910有序集合也称ZSet,当值写入后将会进行排序后保存
15833469926
16955843376

image-20240109162220981

这里rpush是给列表赋值,不能直接通过列表获取其中信息,需要使用 lindex phone 0 这种指令来获取数据,值得注意的是列表的下标也是从0开始的

下面这张图是在Windows系统上的redis服务器启动和使用

image-20231225214611602

这里说一个关于安装gcc是报错的问题

如果遇到了下图问题

image-20231224222245445

是因为DNS解析的问题,需要在网络配置文件 /etc/sysconfig/network-scripts 中添加 DNS=114.114.114.114 然后再重启网卡,重新 yum install gcc -y 就好了

当然,这只是我这台主机的问题解决办法,还有可能真的是镜像的问题,这时就可以用 镜像解决 这个

在这里说一下关于启动redis服务器并且登录进redis客户端以及如何查看服务进程的流程

开启redis服务

进入redis配置时的默认目录,即 /usr/local/bin 然后执行命令 ./redsi-server redis.conf 即可启动成功,此时可以通过指令 ps -ef | grep redis 来查看服务进程

image-20240109155907041

这是开启redis服务之后查看服务进程的结果

之后进入redis服务客户端 在 /usr/local/bin 目录下使用指令 ./redsi-cli -h 127.0.0.1 -p 6379 -a p-0p-0p-0 即可登陆成功

image-20240109160330870

有warning是正常的,暂时不用管

接下来便登录redis服务器客户端成功

如果此时我们再用另一台设备去查看redsi服务信息就会发现,此时有三个服务是启动的

image-20240109162422755

我们可以使用 exit 退出客户端,此时redis-cli的服务也会关闭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值