欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Linux(Centos7)下redis安装、部署、开机自启

程序员文章站 2022-04-15 15:44:28
1.什么是redis redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止redis支持的键值数据类型如下字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs) 2. ......

1.什么是redis

redis是用c语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止redis支持的键值数据类型如下字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)

2.redis的应用场景 

缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用
分布式集群架构中的session分离。
聊天室的在线好友列表。
任务队列。(秒杀、抢购、12306等等) 
应用排行榜。 
网站访问统计。 
数据过期处理(可以精确到毫秒)

3.redis的安装 

下面介绍在centos环境下,redis的安装与部署,redis从3.0版本以后增加了集群功能。  

步骤如下:

  由于redis是用c语言编写,所以编译时需要gcc,

yum install gcc-c++

 

  通过官网下载 地址:http://download.redis.io/releases/redis-5.0.0.tar.gz

  或 使用linux wget命令:wget http://download.redis.io/releases/redis-5.0.0.tar.gz

 

把源码包上传到linux服务器,在上传的目录下进行解压

tar -zxvf redis-5.0.0.tar.gz

 

进入解压后的目录进行编译make,指定目录安装make install 如 /usr/local/redis

cd /redis-5.0.0/

make (这里进redis-5.0.0/目录下直接make编译就好了)

make install prefix=/usr/local/redis   (指定编译路径)

进入安装目录bin下
cd /usr/local/redis/bin

此时的目录结构是这样的

Linux(Centos7)下redis安装、部署、开机自启

  • redis-benchmark redis性能测试工具
  • redis-check-aof aof文件修复工具
  • redis-check-rdb rdb文件修复工具
  • redis-cli redis命令行客户端
  • redis.conf redis配置文件
  • redis-sentinal redis集群管理工具
  • redis-server redis服务进程

4.启动redis

1.前端模式启动

/usr/local/redis/bin/redis-server
或 cd /usr/local/redis/bin 运行 ./redis-server

前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,故不推荐使用此方法。

Linux(Centos7)下redis安装、部署、开机自启

2.后端模式启动

1)redis的源码目录中复制redis.confredis的安装目录bin下。

 

cp redis.conf /usr/local/redis/bin

 

Linux(Centos7)下redis安装、部署、开机自启

2)修改配置文件 (是否后台启动)

vim /usr/local/redis/bin/redis.conf

找到 daemonize  按i 进入编辑模式 把no 改为 yes 

按esc + :wq 保存退出

Linux(Centos7)下redis安装、部署、开机自启

 

执行如下命令启动redis:

cd /usr/local/redis/bin

./redis-server ./redis.conf

3.查看是否启动成功

ps aux|grep redis

Linux(Centos7)下redis安装、部署、开机自启

redis默认端口为 6379,可更改redis.conf文件,修改端口号

 

5. 关闭redis

强行终止redis进程可能会导致redis持久化数据丢失。

正确停止redis的方式应该是向redis发送shutdown命令,

命令为:

cd /usr/local/redis
./bin/redis-cli shutdown

 

强行终止redis

pkill redis-server


6.让redis开机自启

1) vim /etc/init.d/redis  编写脚本 (输入下面的代码)
# chkconfig: 2345 10 90
# description: start and stop redis

path=/usr/local/bin:/sbin:/usr/bin:/bin

redisport=6379 #实际环境而定
exec=/usr/local/redis/bin/redis-server #实际环境而定
redis_cli=/usr/local/redis/bin/redis-cli #实际环境而定

pidfile=/var/run/redis.pid
conf="/usr/local/redis/bin/redis.conf" #实际环境而定

case "$1" in
        start)
                if [ -f $pidfile ]
                then
                        echo "$pidfile exists, process is already running or crashed."
                else
                        echo "starting redis server..."
                        $exec $conf
                fi
                if [ "$?"="0" ]
                then
                        echo "redis is running..."
                fi
                ;;
        stop)
                if [ ! -f $pidfile ]
                then
                        echo "$pidfile exists, process is not running."
                else
                        pid=$(cat $pidfile)
                        echo "stopping..."
                        $redis_cli -p $redisport shutdown
                        while [ -x $pidfile ]
                        do
                                echo "waiting for redis to shutdown..."
                                sleep 1
                        done
                        echo "redis stopped"
                fi
                ;;
        restart|force-reload)
                ${0} stop
                ${0} start
                ;;
        *)
                echo "usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
                exit 1
esac

 

2)  配置开机启动

chmod 755 /etc/init.d/redis #设置文件redis的权限,让linux可以执行
chkconfig redis on    #开启服务自启动
chkconfig --list #查看所有注册的脚本文件
service redis start #启动
redis service redis stop #关闭redis

 

3) 检测是否成功

reboot  #重启--如果是centos6.5学过来的,init 0与init 6一样在centos7适用
ps aux|grep redis #查看redis进程是否存在

 

 

 

至此redis安装完毕。

good luck !