CentOS 7.3 搭建 Redis-4.0.1 单机服务

Redis 简介

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

Redis 与其他 key – value 缓存产品有以下三个特点:
Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。

Redis 优势

性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Redis与其他key-value存储有什么不同?

Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,应为数据量不能大于硬件内存。在内存数据库方面的另一个优点是, 相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。 同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

环境

  • VMware版本号:12.0.0
  • CentOS版本:CentOS 7.3.1611

注意事项

升级所有的包,防止出现版本过久不兼容问题

 

$ yum -y update

安裝 GCC 编译工具 不然会有编译不过的问题

 

$yuminstall-ygccg++gcc-c++make

关闭防火墙 节点之前需要开放指定端口,为了方便,生产不要禁用

centos 6.x

 

$ service iptables stop# 关闭命令:

centos 7.x

 

$ systemctl stop firewalld.service # 停止firewall

单机搭建

安装 Redis

下载,解压,编译安装

 

$ cd /opt
$ wget http://download.redis.io/releases/redis-4.0.1.tar.gz$ tar xzf redis-4.0.1.tar.gz
$ cd redis-4.0.1$ make

如果因为上次编译失败,有残留的文件

 

$ make distclean

创建配置

默认的 redis.conf 配置文件内容太多,很多配置,不太好,用的时候再往,自己定义的配置文件加

1.创建 redis-sentinel 目录 用于放自定义配置文件启动 redis.conf

 

$ cd /
$ mkdir redis-sentinel

2.在 redis-sentinel 目录下,创建 redis.conf 把如下Redis.conf 配置内容粘贴进去

 

$ cd /opt/redis-4.0.1/redis-sentinel
$ vi redis.conf

Redis.conf 配置

 

port 6379
bind 192.168.252.104
daemonize yes
pidfile /var/run/redis_6379.pid
appendonly yes

redis.conf 配置说明

 

#端口7000
port 7000#默认IP为127.0.0.1,需要改为其他节点机器可访问的IP
bind 192.168.252.101#redis后台运行
daemonize yes 

#当 Redis 以守护进程的方式运行的时候,Redis 默认会把 pid 文件放在/var/run/redis_6379.pid
pidfile /var/run/redis_6379.pid
        
#aof日志开启,有需要就开启,它会每次写操作都记录一条日志
appendonly yes

启动服务

使用指定配置文件启动

 

$ /opt/redis-4.0.1/src/redis-server /opt/redis-4.0.1/redis-sentinel/redis.conf

 

21915:C17 Aug 12:58:03.301# oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo21915:C17 Aug 12:58:03.301# Redis version=4.0.1, bits=64, commit=00000000, modified=0, pid=21915, just started21915:C17 Aug 12:58:03.301# Configuration loaded

检查服务

检查各 Redis 各个节点启动情况

 

$ ps -ef | grep redis           //redis是否启动成功$ netstat -tnlp | grep redis    //监听redis端口

基本命令

停止

 

$  /opt/redis-4.0.1/src/redis-server stop /opt/redis-4.0.1/redis-sentinel/redis.conf

启动

 

$ /opt/redis-4.0.1/src/redis-server start

重启

 

$ /opt/redis-4.0.1/src/redis-server restart /opt/redis-4.0.1/redis-sentinel/redis.conf

测试 Redis

启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了

比如

 

$  /opt/redis-4.0.1/src/redis-cli -h 192.168.252.104 -c -p 6379192.168.252.104:6379> set name www.ymq.io
OK
192.168.252.104:6379> get name
"www.ymq.io"192.168.252.104:6379> 

启动脚本

 

#!/bin/sh #kconfig: 345 86 14#description: Startup and shutdown script for Redis
 
PROGDIR=/opt/redis-4.0.1 #安装路径
PROGNAME=src/redis-server
DAEMON=$PROGDIR/$PROGNAME
CONFIG=/opt/redis-4.0.1/redis-sentinel/redis.conf
PIDFILE=/var/run/redis_6379.pid
DESC="redis daemon"
SCRIPTNAME=/etc/rc.d/init.d/redisd
 
start()
{
         iftest -x $DAEMONthenecho-e"Starting $DESC: $PROGNAME"if$DAEMON$CONFIGthenecho-e"OK"elseecho-e"failed"fielseecho-e"Couldn't find Redis Server ($DAEMON)"fi
}

stop()
{
         iftest-e$PIDFILEthenecho-e"Stopping $DESC: $PROGNAME"ifkill `cat $PIDFILE`
                   thenecho-e"OK"elseecho-e"failed"fielseecho-e"No Redis Server ($DAEMON) running"fi
}

restart()
{
    echo-e"Restarting $DESC: $PROGNAME"
    stop
         start
}
 
list()
{
         ps aux | grep $PROGNAME
}
 
case$1in
         start)
                   start
        ;;
         stop)
        stop
        ;;
         restart)
        restart
        ;;
         list)
        list
        ;;
 
         *)
        echo"Usage: $SCRIPTNAME {start|stop|restart|list}" >&2
        exit 1
        ;;
esacexit 0

启动服务

 

$ service redisd start
Starting redis daemon: src/redis-server
22330:C17 Aug 13:56:59.300# oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo22330:C17 Aug 13:56:59.300# Redis version=4.0.1, bits=64, commit=00000000, modified=0, pid=22330, just started22330:C17 Aug 13:56:59.300# Configuration loaded
OK

停止服务

 

$ service redisd stop
Stopping redis daemon: src/redis-server
OK

重启服务

 

$ service redisd restart
Restarting redis daemon: src/redis-server
No Redis Server (/opt/redis-4.0.1/src/redis-server) running
Starting redis daemon: src/redis-server
22354:C17 Aug 13:57:16.110# oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo22354:C17 Aug 13:57:16.110# Redis version=4.0.1, bits=64, commit=00000000, modified=0, pid=22354, just started22354:C17 Aug 13:57:16.110# Configuration loaded
OK

查看进程

 

$ service redisd list
root      22355  0.0  0.7  41656  7512 ?        Ssl  13:57   0:00 /opt/redis-4.0.1/src/redis-server 192.168.252.104:6379
root      22370  0.0  0.0   9028  660 pts/1    R+   13:57   0:00 grep src/redis-server

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/208255.html<

(0)
运维的头像运维
上一篇2025-04-08 22:20
下一篇 2025-04-08 22:21

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注