手把手教你在Centos 7上安装、配置、启动Redis

一、什么是Redis?

Redis是Remote Dictionary Severy的缩写,中文名称:远程字典服务器,它是一个基于C语言编写的完全开源免费,并且遵循BSD协议的一个高性能的key-value型分布式内存数据库。Redis使用key-value的形式保存值,常用的数据类型有String、list、hash、set、zset等数据结构,因此也被人们称为数据结构服务器。

二、在Linux(Centos7)安装Redis

1、首先去Redis的官方网站下载需要redis

redis官网的镜像网址:http://download.redis.io/releases/,在这里有redis的各个版本:

在Liunx上使用wget命令下载(我这个下载它当前的最新的镜像redis-5.0.5-tar.gz版本):wget http://download.redis.io/releases/redis-5.0.5.tar.gz

2、下载好后解压

tar -zxvf redis-5.0.5.tar.gz

三、安装、配置、启动Redis

1、执行make命令编译redis源文件

在编译之前请检查一下你的Linux上是否已经安装了GCC编译器,如果没有请先安装GCC编译器。在命令行输入gcc -v后如果打印出如下类似信息说明你的Linux上已经安装了gcc了

如果没问题了,进入到刚刚解压出来的文件夹根目录下执行make命令编译Redis

2、make install PREFIX=/usr/local/redis安装Redis

make执行成功后文件夹找就会多一个src文件夹,进入src文件夹,执行 make install PREFIX=/usr/local/redis命令,把redis安装到/usr/local/redis/

其实1、2两步可以合并到一步执行:make && make install PREFIX=/usr/local/redis

3、拷贝配置文件到安装目录

安装好的redis目录下默认没有配置文件,我们需要复制一份到安装目录下

4、配置redis为后台启动

将刚在复制到安装目录的那个redis.conf打开,并把其中的daemonize no改成daemonize yes

5、设置redis开机自动启动

打开/etc/rc.local 在里面添加:/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf(rc.local这个脚本会在开机的时候执行)

6、启动redis服务

执行命令redis-server /usr/local/redis/redis.conf启动redis服务。

注意!如果按照上面的正常的流程安装下来,但是在执行redis-server启动redis的时候提示redis-server不是命令,不要慌张,这是由于这个redis-server不是全局的命令不能在每一个目录下使用,当在别的目录下使用的时候系统在/usr/bin/找不到这个命令,此时我们需要把安装目录下的redis-server链接到到到/usr/bin目录下就可以了。 比如我的redis安装目录是/home/myredis/redis/redis-5.0.5/src/redis-server,那就可以执行下面的命令:ln -s /home/myredis/redis/redis-5.0.5/src/redis-server /usr/bin/redis-server

解决问题后再来执行上面那个命令启动redis服务,启动后我们可以使用命令ps -ef | grep redis来查看服务有没有启动:

redis启动成功了,之后执行redis-cli -p 6379 进入redis的命令行模式

四、redis-benchmark

redis自带了一个性能测试工具redis-benchmark,他有丰富的模拟组件和指令可以使用。中文链接如下: http://www.redis.cn/topics/benchmarks.html 。redis-benchmark 程序模拟 N 个客户端同时发出 M 个请求来测试在本机上redis可以达到的吞吐量从而间接的对给定硬件条件下面的机器计算出性能参数。 表现为Response time和完成request的数量等等。

redis-benchmark可以使用到的参数:

-t 选择你想测试的命令,比如redis-benchmark -t set 
-p 指定port redis-benchmark -p 6379 
-l 一直循环 
-c 指定客户端数量 
-n 指定request数量

五、redis入门必会必知

(0)什么是Redis?

redis是一个key-value型的高性能内存数据库,同时Redis也是一个优秀的缓存中间件,类似于memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。

(1)redis的默认端口是多少?

redis出厂的默认端口是6379,这个端口可以在redis的配置文件中修改。

(2)redis的常用五大数据类型

Redis的五大常用数据类型是:string(字符串)、list(列表)、hash(散列表)、set(集合)、zSet(sorted Set,有序集合)

(3)redis是以单线程来处理客户端的请求。

对读写等事件的响应式通过对epoll函数的包装来实现到的。Redis的实际处理速度完全依靠主进程的执行效率。epoll是Linux内科为处理大批量文件描述符伟做了改进的epoll,是Linux下多路复用IO接口select/poll的增强版本,他能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。

(4)默认有16个数据库。

默认的数据库从DB0开始(默认登录也是0号库),切换可以使用select <dbid>,这些在redis.conf这个文件中有详细的说明:

(5)一个字符串类型的值能存储最大容量是多少?

512MB

(6)一个Redis实例最多能存放多少的keys?List、Set、Sorted Set他们最多能存放多少元素?

和内存大小有关,内存越大可以存放的key就越多,能存储的元素就越多。

(7)Redis集群最大结点数是多少?

16384个

(8)Redis hash槽的概念?

Redis集群没有使用一致性hash,而是引入了哈希槽的概念,Redis集群有16384个哈希槽,每个key通过CRC16校验后对16384取模来决定放置哪个槽,集群的每个节点负责一部分hash槽。

留言区

还能输入500个字符