一、Redis是用C语言开发的一个开源的高性能键值对(Key-Value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:
1.字符串类型
(value)
2.散列类型
key2
(value)
3.列表类型
key3
(value)
4.集合类型
key4
(value)
5.有序集合类型
官方提供测试数据:50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s。数据仅供参考,根据服务器配置会有不同的结果。
二、Redis的应用场景
1.缓存(数据查询,短连接,新闻内容,商品内容等等)。(最多使用)
2.聊天室的在线好友列表。
3.任务队列。(秒杀,抢购,12306等等)
4.应用排行榜
5.网站访问统计
6.数据过期处理(可以精确到毫秒)
7.分布式集群架构中的session分离
三、Redis安装和使用
1.Windows下安装Redis
步骤:
解压压缩包(redisbin_x32.zip),根据自己的系统位数来装,出来就是如下如下文件
双击redis-server.exe这个文件,就和tomcat一样
注:
我安装的这个并不是redis官方提供的,而是微软自己写的一版而已,实际redis在Windows上用根本没有什么价值,也就是说它只有在Linux环境下才能达到一个非常好的性能
2.Linux下安装Redis
2.1 搭建环境
虚拟机版本:VMware 14.1.2
2.1.1 Linux系统
Linux版本:Red Hat Enterprise Linux 6.5
2.1.2 SSH客户端
远程命令端:Xshell6
(或者SecureCRT)ftp端:Xftp6
(或者 SecureFX)
2.2 Red Hat 安装Redis
2.2.1安装环境
这步可以省略:我自己安装之前想在一个新用户下装redis,所以先创建一个新用户
①首先linux下的用户是属于组的,所以需要先创建一个组,划分给用户。
创建命令:切换在root下执行
groupadd gRedis 创建一个组gRedis
如图:
②然后创建用户
useradd -m -g gRedis uRedis 新增用户uRedis
如图:
③设置用户密码
passwd uRedis 换行输入密码
如图:
④切换到home目录,在root用户下给uRedis授权
chmod 775 -R uRedis
如图:
整完这些就好了,就可以用uRedis这个用户安装redis了
安装gcc执行命令
如图:
说明必须在root低下才能执行这个命令,如此我在此新建用户是多余的
总结:
经过好几次尝试,都没有在Red Hat上搞定这个gcc环境,原因肯定很多,也不知道之前同事有没有动过,反正就是各种not found源源不断,小信心有点奔溃,所以坚决移除这个Red Hat,立马下一个CentOS7(官网下载)安装上进行gcc环境的部署,所以下面就是介绍CentOS7下安装redis。
2.3 CentOS 下安装gcc环境
2.3.2 redis是C语言开发,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境。如果没有gcc环境,需要安装gcc;
在线安装:(一般情况的话,最好是干净的系统,以前安装过,要检查一下,清理干净再安装或者能用话不需要再安装)
yum install gcc-c++
如果提示是否下载,输入y。
如果再提示是否安装,继续输入y,然后回车
最后就安装成功了,准备进行下一步骤
2.4 Redis的安装:
2.4.1将下载好的redis压缩文件通过secureCRT或者Xftp上传到linux下(记得要用在root用户下)
2.4.2开始解压文件
tar -zxvf redis-3.0.0.tar.gz
2.4.3 编译redis(编译,将.c文件编译成.o文件)
① 进入解压文件夹,cd redis-3.0.0
② 执行make命令进行编译
注:这个是在有gcc环境的情况下的编译成功画面
当然如果没有安装gcc环境,编译将出现错误提示(如果安装失败,必须删除文件夹,重新解压)
2.4.4 安装
make PREFIX=/usr/local/redis install
吃的
安装完成后,在/usr/local/redis/bin 下有几个可执行文件
其中:
redis-benchmark 性能测试工具
redis-check-aof AOF文件修复工具
redis-check-dump RDB文件检查工具
redis-cli 命令行客户端
redis-server redis服务器启动命令
2.4.5. COPY 文件
redis启动需要一个配置文件,所以需要把这个配置文件拷贝过去,可以修复端口号等信息
cp redis.conf /usr/local/redis
2.5 Redis的启动
2.5.1前端模式启动
直接运行bin/redis-server将以前端模式启动,前端模式启动的缺点是启动完成后,不能再进行其他操作,如果要操作必须使用ctrl+c,同时使用redis-server程序结束,不推荐使用此方法。
/usr/local/redis/bin/redis-server
注:前端模式运行不能进行其他操作,所以要停止就必须Ctrl+C ,如下就是结果图
2.5.2后端模式
① 修改redis.conf配置文件,daemonize yes 以后端模式启动。
vim /usr/local/redis/redis.conf
② 启动时,指定配置文件
cd /usr/local/redis/
./bin/redis-server ./redis.conf
③ Redis 默认端口为6379,通过当前服务进行查看
ps -ef | grep -i redis
2.6 Redis停止
① 强制结束程序,强行终止Redis进程可能会导致redis持久化数据丢失。
kill -9 25577 #pid 需要通过“ps aux | grep -i redis”进行查询
② 正确停止Redis的方式应该是向Redis发送SHUTDOWN 命令,方法为:(关闭默认端口)
cd /usr/local/redis
./bin/redis-cli shutdown
2.7 Redis 的使用
2.7.1连接客户端
① 在redis 的安装目录中有redis的客户端,即reids-cli(Redis Command Line Interface),它是Redis自带的基于命令行的Redis客 户端。
肯定是先启动服务端
② 然后客户端访问,即启动客户端
③ redis-cli -h ip地址 -p 端口(redis-cli -h 192.168.137.128 -p 6379)
④ 默认ip和端口
2.7.2 向Redis服务器发送命令
① redis-cli连上redis服务后,可以在命令行发送命令。
ping,测试客户端与Redis的连接是否正常,如果连接正常会收到回复PONG
② set/get,使用set和get可以向redis设置数据,获取数据。
设置数据
获取数据
③ del,删除指定的key的内容
④ keys *,查看当前库中所有的key值