Redis
1、Redis介绍
1.1、什么是Redis
全称::REmote DIctionary Server(远程字典服务器)。是完全开源免费的,用C语言编写的, 遵守BCD协议。是 一个高性能的(key/value)分布式内存数据库,
基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。 Redis 与其他 key - value 缓存产品有以下三个特点
(1) Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
(2) Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储 (3) Redis支持数据的备份,即master-slave(主从)模式的数据备份
1.2 Redis优势
(1) 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
(2) 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
(3) 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
(4) 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性
(5) 采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU,不 用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗; (6) 使用多路I/O复用模型,非阻塞IO;
1.3 Redis应用场景
(1) 缓存(数据查询,短连接,新闻内容,商品内容等),使用最多
(2) 聊天室在线好友列表
(3) 任务队列(秒杀,抢购,12306等)
(4) 应用排行榜
(5) 网站访问统计
(6) 数据过期处理(可以精确到毫秒)
(7) 分布式集群架构中的session问题
1.4 Redis下载
(1)Http://redis.io/ 英文地址
(2)Http://www.redis.cn/ 中文地址
2、Linux下安装Redis
2.1 环境准备
(1)虚拟机版本:VMware® Workstation 12 Pro
(2) Linux系统:Centos Release 6.5
(3) 远程命令端:xshell
(4)文件传输工具:SecureFXPortable
2.2 、Redis的安装
2.2.1 Redis的编译环境
Redis是C语言开发的,安装redis需要先去官网下载源码进行编译,编译需要依赖于GCC编译环境,如果CentOS上 没有安装gcc编译环境,需要提前安装,安装命令如下:(这里我们使用root用户处理这些操作)
[root@localhost ~]# yum install gcc-c++
如果提示是否下载,选择: y
如果提示是否安装,选择: y
2.2.2 Redis的安装
(1) 使用SecureFXPortable上传Redis安装文件到Linux目录
(2)上传Redis安装文件,这里我上传自建文件夹: /home/yhp/local
(3)解压redis文件
[root@localhost local]# tar -zxvf redis-5.0.5.tar.gz
(4)编译Redis(编译,将.c文件编译为.o文件)
进入解压文件夹,执行 make
[root@localhost local]# cd redis-5.0.5
[root@localhost redis-5.0.5]# make
编译成功!如果编译过程中出错,先删除安装文件目录,后解压重新编译。
(5) 安装
[root@localhost redis-5.0.5]# make PREFIX=/home/admin/myapps/redis install
说明:这里的/home/myapps/redis 是自定义的redis安装路径
(6)安装之后的bin目录
bin文件夹下的命令:
安装完后,在/usr/local/redis/bin 下有几个可执行的文件
(7) Copy文件
Redis启动需要一个配置文件,可以修改端口号信息。将redis解压的文件夹中的redis.conf文件复制到安装目录
[root@localhost redis-5.0.5]# cp redis.conf /home/admin/myapps/redis
2.3 Redis的启动
2.3.1 Redis的前端模式启动
直接运行bin/redis-server将使永前端模式启动,前端模式启动的缺点是启动完成后,不能再进行其他操作,如果 要操作必须使用ctrl+c,同时redis-server程序结束,不推荐此方法。
[root@localhost bin]# ./redis-server
下面是启动界面(这个界面只能启动,启动后不能进行其他操作)
使用ctrl+c退出前端启动。
2.3.2 Redis的后端启动
修改redis.conf配置文件,设置:daemonize yes,然后可以使用后端模式启动。
[root@localhost redis]# vi redis.conf
启动时,指定配置文件(这里所在文件夹是redis)
[root@localhost redis]# ./bin/redis-server ./redis.conf
Redis默认端口:6379,通过当前服务进行查看
[root@localhost redis]# ps -ef | grep -i redis
2.3.3 客户端访问redis
如果想要通过指令来操作redis,可以使用redis的客户端进行操作,在bin文件夹下运行redis-cli
该指令默认连接的127.0.0.1 ,端口号是6379
[root@localhost bin]# ./redis-cli
127.0.0.1:6379>
如果想要连接指定的ip地址以及端口号,则需要按照
redis-cli -h ip地址 -p 端口号
语法结构连接。
2.3.4 向Redis服务器发送命令
Ping,测试客户端与Redis的连接是否正常,如果连接正常,回收到pong
127.0.0.1:6379> ping
PONG
2.3.5 退出客户端
127.0.0.1:6379> quit
2.3.6 Redis的停止
(1) 强制结束程序。强制终止Redis进程可能会导致redis持久化数据丢失。
语法:kill -9 pid
(2) 正确停止Redis的方式应该是向Redis发送SHUTDOWN命令,方法为(关闭默认的端口)
[root@localhost redis]# ./bin/redis-cli shutdown
2.3.7 第三方工具(redis-desktop-manager)操作redis
注意:需要关闭linux防火墙并且修改redis.conf文件中的bind参数
bind linux的ip地址
此时如果通过redis客户端访问的时候,代码如下:
./redis-cli -h 192.168.197.132 -p 6379
7 第三方工具(redis-desktop-manager)操作redis
[外链图片转存中…(img-I2bBXz5F-1627211398719)]
注意:需要关闭linux防火墙并且修改redis.conf文件中的bind参数
bind linux的ip地址
此时如果通过redis客户端访问的时候,代码如下:
./redis-cli -h 192.168.197.132 -p 6379