一、Redis是用C语言开发的一个开源的高性能键值对(Key-Value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:

1.字符串类型

redis 键数量对性能影响 redis键值对最大数量_redis 键数量对性能影响

 (value)

2.散列类型

    key2

redis 键数量对性能影响 redis键值对最大数量_客户端_02

(value)

3.列表类型

key3

redis 键数量对性能影响 redis键值对最大数量_客户端_03

(value)

4.集合类型

key4

redis 键数量对性能影响 redis键值对最大数量_客户端_04

(value)

5.有序集合类型

redis 键数量对性能影响 redis键值对最大数量_redis_05

   官方提供测试数据:50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s。数据仅供参考,根据服务器配置会有不同的结果。

二、Redis的应用场景

1.缓存(数据查询,短连接,新闻内容,商品内容等等)。(最多使用)

2.聊天室的在线好友列表。

3.任务队列。(秒杀,抢购,12306等等)

4.应用排行榜

5.网站访问统计

6.数据过期处理(可以精确到毫秒)

7.分布式集群架构中的session分离

三、Redis安装和使用

1.Windows下安装Redis

步骤:

 解压压缩包(redisbin_x32.zip),根据自己的系统位数来装,出来就是如下如下文件

redis 键数量对性能影响 redis键值对最大数量_redis_06

双击redis-server.exe这个文件,就和tomcat一样

redis 键数量对性能影响 redis键值对最大数量_redis_07

注:

     我安装的这个并不是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 

redis 键数量对性能影响 redis键值对最大数量_redis_08

 (或者SecureCRT)ftp端:Xftp6  

redis 键数量对性能影响 redis键值对最大数量_客户端_09

 (或者 SecureFX)

 2.2 Red Hat 安装Redis

 2.2.1安装环境

 这步可以省略:我自己安装之前想在一个新用户下装redis,所以先创建一个新用户

 ①首先linux下的用户是属于组的,所以需要先创建一个组,划分给用户。

  创建命令:切换在root下执行

groupadd  gRedis      创建一个组gRedis

  如图:

  

redis 键数量对性能影响 redis键值对最大数量_Redis_10

 

 ②然后创建用户

useradd -m -g gRedis uRedis 新增用户uRedis

 如图:

 

redis 键数量对性能影响 redis键值对最大数量_redis 键数量对性能影响_11

 

③设置用户密码

passwd uRedis 换行输入密码

  如图: 

  

redis 键数量对性能影响 redis键值对最大数量_Redis_12

 

 ④切换到home目录,在root用户下给uRedis授权

chmod 775 -R uRedis

 如图:

 

redis 键数量对性能影响 redis键值对最大数量_redis 键数量对性能影响_13

 

 

redis 键数量对性能影响 redis键值对最大数量_redis_14

 

 整完这些就好了,就可以用uRedis这个用户安装redis了 

 

redis 键数量对性能影响 redis键值对最大数量_redis_15

安装gcc执行命令

如图:

redis 键数量对性能影响 redis键值对最大数量_Redis_16

说明必须在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++

 

redis 键数量对性能影响 redis键值对最大数量_redis 键数量对性能影响_17

如果提示是否下载,输入y。

redis 键数量对性能影响 redis键值对最大数量_客户端_18

如果再提示是否安装,继续输入y,然后回车 

redis 键数量对性能影响 redis键值对最大数量_Redis_19

 最后就安装成功了,准备进行下一步骤

redis 键数量对性能影响 redis键值对最大数量_Redis_20

2.4 Redis的安装:

2.4.1将下载好的redis压缩文件通过secureCRT或者Xftp上传到linux下(记得要用在root用户下)


redis 键数量对性能影响 redis键值对最大数量_客户端_21

2.4.2开始解压文件

tar -zxvf redis-3.0.0.tar.gz

redis 键数量对性能影响 redis键值对最大数量_redis_22

2.4.3 编译redis(编译,将.c文件编译成.o文件)

① 进入解压文件夹,cd redis-3.0.0

redis 键数量对性能影响 redis键值对最大数量_客户端_23

② 执行make命令进行编译

redis 键数量对性能影响 redis键值对最大数量_Redis_24

redis 键数量对性能影响 redis键值对最大数量_Redis_25

 

注:这个是在有gcc环境的情况下的编译成功画面

当然如果没有安装gcc环境,编译将出现错误提示(如果安装失败,必须删除文件夹,重新解压)

redis 键数量对性能影响 redis键值对最大数量_redis 键数量对性能影响_26

 2.4.4 安装

make PREFIX=/usr/local/redis install

 

redis 键数量对性能影响 redis键值对最大数量_redis 键数量对性能影响_27

吃的

 安装完成后,在/usr/local/redis/bin 下有几个可执行文件

redis 键数量对性能影响 redis键值对最大数量_redis 键数量对性能影响_28

其中:

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

redis 键数量对性能影响 redis键值对最大数量_Redis_29

2.5 Redis的启动

2.5.1前端模式启动

直接运行bin/redis-server将以前端模式启动,前端模式启动的缺点是启动完成后,不能再进行其他操作,如果要操作必须使用ctrl+c,同时使用redis-server程序结束,不推荐使用此方法。

/usr/local/redis/bin/redis-server

redis 键数量对性能影响 redis键值对最大数量_Redis_30

注:前端模式运行不能进行其他操作,所以要停止就必须Ctrl+C ,如下就是结果图

redis 键数量对性能影响 redis键值对最大数量_redis_31

2.5.2后端模式

① 修改redis.conf配置文件,daemonize yes 以后端模式启动。

vim /usr/local/redis/redis.conf

redis 键数量对性能影响 redis键值对最大数量_redis 键数量对性能影响_32

 

redis 键数量对性能影响 redis键值对最大数量_Redis_33

② 启动时,指定配置文件

cd /usr/local/redis/

./bin/redis-server ./redis.conf

redis 键数量对性能影响 redis键值对最大数量_客户端_34

③ Redis 默认端口为6379,通过当前服务进行查看

ps -ef | grep -i redis

redis 键数量对性能影响 redis键值对最大数量_Redis_35

 2.6 Redis停止

① 强制结束程序,强行终止Redis进程可能会导致redis持久化数据丢失。

kill -9 25577      #pid 需要通过“ps aux | grep -i redis”进行查询

redis 键数量对性能影响 redis键值对最大数量_客户端_36

② 正确停止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 键数量对性能影响 redis键值对最大数量_客户端_37

② 然后客户端访问,即启动客户端

 

redis 键数量对性能影响 redis键值对最大数量_客户端_38

③ redis-cli -h ip地址 -p 端口(redis-cli -h 192.168.137.128 -p 6379)

redis 键数量对性能影响 redis键值对最大数量_redis 键数量对性能影响_39

④ 默认ip和端口

redis 键数量对性能影响 redis键值对最大数量_redis_40

 2.7.2 向Redis服务器发送命令

① redis-cli连上redis服务后,可以在命令行发送命令。

  ping,测试客户端与Redis的连接是否正常,如果连接正常会收到回复PONG

redis 键数量对性能影响 redis键值对最大数量_客户端_41

② set/get,使用set和get可以向redis设置数据,获取数据。

redis 键数量对性能影响 redis键值对最大数量_Redis_42

  设置数据

redis 键数量对性能影响 redis键值对最大数量_Redis_43

    获取数据

③ del,删除指定的key的内容

redis 键数量对性能影响 redis键值对最大数量_redis_44

④ keys *,查看当前库中所有的key值 

redis 键数量对性能影响 redis键值对最大数量_redis 键数量对性能影响_45