Redis配置与使用
本篇文章主要讲解Redis的配置与使用,并且讲Redis的优点
目录
在这里说一下关于启动redis服务器并且登录进redis客户端以及如何查看服务进程的流程
Redis配置与使用
首先有个概念:非关系型数据库不一定就是存储在内存中的
Redis是最为流行的缓存服务器(非关系型数据库):数据是保存在内存中的,所有的IO操作全都在内存中进行,速度非常快,性能非常高
如果断电了或停止服务,数据就会消失,而内存型数据库恰好可以弥补类似于MySQL等关系型数据库在硬盘中进行IO操作的速度上的局限。
所以最常见的是关系型数据库和非关系型数据库同时配合使用。关系型数据库解决数据永久存储和业务逻辑中表与表之间;而内存型数据库一般处理性能问题
Redis是key-value键值对的存储格式,非关系型,用key=value的方式操作数据,就比如说a=100 name=woniu ,所以为了找到值,只需要找到key就可以了。而关系型数据库是二维表+SQL语句操作。
客户端向服务器请求数据,服务器向数据库请求数据,关系型数据库可以将数据库读写进内存型数据库,然后后面的读写都对内存型数据库读写就好了
计算机内部距离CPU越近的设备,运行速度最快
混合硬盘速度
硬盘速度
内存与缓存的速度
一、安装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
如果make过程中遇见了以下错误,使用make参数 make MALLOC=libc
make结束之后,再执行make install就OK了
更改redis配置文件
我么可以看到,这目录下的所有文件都是可执行文件
由于在/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
就好了
如下所示:
看到这样就成功了
二、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性能的
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
数据类型 | key | Value | 注意事项 |
---|---|---|---|
字符串(string) | username | 蜗牛学苑 | Redis没有数字类型,归为字符串类型中 |
password | p-0p-0p-0 | ||
哈希(Hash) | article | key:article Value:123 | Hash类型的值本身又是一个键值对的字典类型 |
article | key: headline Value: Redis缓存策略详解 | ||
comment | Key: content Value: 后台架构的性能优化 | ||
列表(List) | headline | Flask的路由规则解析 | 列表中的值可以重复,也可以存JSON数据 |
JQuery与VUE的应用场景 | |||
RESTful的接口规范研究 | |||
集合(Sets) | phone | 12345678910 | 集合的用法与列表类似,只是存的值不允许重复 |
12345678910 | |||
12345678910 | |||
有序集合(Sorted Sets) | phone | 12345678910 | 有序集合也称ZSet,当值写入后将会进行排序后保存 |
15833469926 | |||
16955843376 |
这里rpush是给列表赋值,不能直接通过列表获取其中信息,需要使用 lindex phone 0
这种指令来获取数据,值得注意的是列表的下标也是从0开始的
下面这张图是在Windows系统上的redis服务器启动和使用
这里说一个关于安装gcc是报错的问题
如果遇到了下图问题
是因为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
来查看服务进程这是开启redis服务之后查看服务进程的结果
之后进入redis服务客户端 在 /usr/local/bin 目录下使用指令
./redsi-cli -h 127.0.0.1 -p 6379 -a p-0p-0p-0
即可登陆成功有warning是正常的,暂时不用管
接下来便登录redis服务器客户端成功
如果此时我们再用另一台设备去查看redsi服务信息就会发现,此时有三个服务是启动的
我们可以使用 exit 退出客户端,此时redis-cli的服务也会关闭
更多推荐
所有评论(0)