演示环境:CentOS 7安装Redis
搭建环境
redis是C语言开发,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境。如果没有gcc环境,需要安装gcc:
安装gcc环境,输入以下命令:
yum install gcc-c++
如果提示是否下载,输入y。
Redis安装
下载Redis
Redis官方网站手动下载,或命令下载:(也可以选择Redis中文网下载),或直接参考Redis官网下载安装说明
步骤1 : 将你下载的Redis压缩文件上传到Linux下,步骤如下: (这里我下的是Windows 下的redis(免费))
步骤2.将redis这个文件解压到你指定路径 (这里我解压到opt目下(推荐))
x tar -zxvf redis-4.0.1.tar.gz -C /opt/
步骤3:编译redis (编译,将.c文件编译为.o文件)【Redis是由C语言开发的】
首先要进入解压文件夹,在当前目录下执行make进行编译
cd redis-4.0.1
make
步骤4: 安装
make PREFIX=/opt/redis install
可能有人会问出,为什么要单拉出来一个文件夹,不能用编译完之后的文件操作安装吗?
这里统一回答下:是可以用编译完之后文件操作安装的,此步骤的目的是为了方便用户使用,将Redis重新建了个文件夹,里面只存放bin文件,将配置文件+可执行文件放入里面,以便大家更好使用
(生成redis的bin目录,可切换目录查看,opt下多了个redis文件下有一个bin目录,下存放几个可执行文件,如下!!!)
安装完后,在/opt/redis/bin下有几个可执行文件
redis-benchmark | 性能测试工具 |
redis-check-aof | AOF文件修复工具 |
redis-check-dump | RDB文件检查工具(快照持久化文件) |
redis-cli | 命令行客户端 |
redis-server | redis服务器启动命令 |
步骤7:copy---redis.conf配置文件至安装目录bin下
redis启动需要一个配置文件,可以修改端口号等信息。
7.1先进入你安装的这个redis4-0.0.1目录,然后查看相关的文件是否存在!
cd /opt/redis-4.0.1
7.2将编译文件的配置文件redis-conf复制到安装目录bin下(启动需要配置)
cp redis.conf /opt/redis/bin
7.3安装目录下redis.conf配置文件需要改动三个配置
#bind 127.0.0.1 #(69行) 注释掉 或 修改为#bind 0.0.0.0
#作用:公开使用.默认只能自己使用
protected-mode no #(89行) yes改为no 默认授保护的,无法改变数据,
#解释 是否能改动数据
daemonize yes #*(138行) no改为 yes
#解释: 是否支持后台运行
到此就Redis就安装+配置完成了!!以下启动Redis
Redis启动
服务器的两种启动方式
- 前端模式启动(不推荐,丢失数据更严重!)
- 2.后端模式启动
前端模式启动
直接运行bin/redis-server将以前端模式启动,前端模式启动的缺点是启动完成后,不能再进行其他操作,如果要操作必须使用ctrl+c,同时redis-server程序结束,不推荐使用此方法。【用户主目录运行!】
前端模式启动redis服务
/opt/redis/bin/redis-server
使用CTRL+ C 停止前端模式
后端模式启动Redis服务
1.这里需要修改redis.conf配置文件,daemonize yes 以后端模式启动。
vim /opt/redis/bin/redis.conf
2.需要修改的配置文件(redis.conf):
daemonize yes #支持后台运行
3.进入你安装的redis目录,执行以下命令启动Redis
./bin/redis-server ./redis.conf
以上便是Redis服务端的两种启动方式.
Redis客户端启动
启动Redis客户端执行以下命令:
./redis-cli
[ctrl+c]退出当前客户端操作
Redis停止
方式一 :强制结束程序。强行终止Redis进程可能会导致redis持久化数据丢失。(不要使用这个)
ps -ef|grep redis #查看redis进程
kill -9 31475(进程中的redis端口号) #杀死指定进程
方式二:利用/redis/bin/.shutdown来关闭默认端口从而停止Redis
1.线进入redis/bin目录下,之后执行关闭默认端口号命令(客户端重新连接可以检验是否停止成功!))
./redis-cli shutdown
【扩展】reids.conf 配置文件信息
至此Redis的安装+配置+启动+停止就结束了,下面给大家补充其中一个知识,以下这是我从网络而来,如有侵权,告知本人删除
大家在操作到修改配置(redis.conf)时,打开配置里面信息众多,其中稍微重点的这里单独列了出来
reids.conf 配置文件里的常用命令
# 是否以后台进程运行
daemonize yes
# pid文件位置
pidfile /var/run/redis/redis-server.pid
# 监听端口
port 6379
# 绑定地址,如外网需要连接,设置0.0.0.0
bind 127.0.0.1
# 连接超时时间,单位秒
timeout 300
##日志级别,分别有:
# debug :适用于开发和测试
# verbose :更详细信息
# notice :适用于生产环境
# warning :只记录警告或错误信息
loglevel notice
# 日志文件位置
logfile /var/log/redis/redis-server.log
# 是否将日志输出到系统日志
syslog-enabled no
# 设置数据库数量,默认数据库为0
databases 16
############### 快照方式 ###############
# 在900s(15m)之后,至少有1个key发生变化,则快照
save 900 1
# 在300s(5m)之后,至少有10个key发生变化,则快照
save 300 10
# 在60s(1m)之后,至少有1000个key发生变化,则快照
save 60 10000
# dump时是否压缩数据
rdbcompression yes
# 数据库(dump.rdb)文件存放目录
dir /var/lib/redis
############### 主从复制 ###############
#主从复制使用,用于本机redis作为slave去连接主redis
slaveof <masterip> <masterport>
#当master设置密码认证,slave用此选项指定master认证密码
masterauth <master-password>
#当slave与master之间的连接断开或slave正在与master进行数据同步时,如果有slave请求,当设置为yes时,slave仍然响应请求,此时可能有问题,如果设置no时,slave会返回"SYNC with master in progress"错误信息。但INFO和SLAVEOF命令除外。
slave-serve-stale-data yes
############### 安全 ###############
#配置redis连接认证密码
requirepass foobared
############### 限制 ###############
#设置最大连接数,0为不限制
maxclients 128
##内存清理策略,如果达到此值,将采取以下动作:
# volatile-lru :默认策略,只对设置过期时间的key进行LRU算法删除
# allkeys-lru :删除不经常使用的key
# volatile-random :随机删除即将过期的key
# allkeys-random :随机删除一个key
# volatile-ttl :删除即将过期的key
# noeviction :不过期,写操作返回报错
maxmemory <bytes>
# 如果达到maxmemory值,采用此策略
maxmemory-policy volatile-lru
# 默认随机选择3个key,从中淘汰最不经常用的
maxmemory-samples 3
############### 附加模式 ###############
# AOF持久化,是否记录更新操作日志,默认redis是异步(快照)把数据写入本地磁盘
appendonly no
# 指定更新日志文件名
appendfilename appendonly.aof
## AOF持久化三种同步策略:
# appendfsync always #每次有数据发生变化时都会写入appendonly.aof
# appendfsync everysec #默认方式,每秒同步一次到appendonly.aof
# appendfsync no #不同步,数据不会持久化
# 当AOF日志文件即将增长到指定百分比时,redis通过调用BGREWRITEAOF是否自动重写AOF日志文件。
no-appendfsync-on-rewrite no
############### 虚拟内存 ###############
# 是否启用虚拟内存机制,虚拟内存机将数据分页存放,把很少访问的页放到swap上,内存占用多,最好关闭虚拟内存
vm-enabled no
# 虚拟内存文件位置
vm-swap-file /var/lib/redis/redis.swap
# redis使用的最大内存上限,保护redis不会因过多使用物理内存影响性能
vm-max-memory 0
# 每个页面的大小为32字节
vm-page-size 32
# 设置swap文件中页面数量
vm-pages 134217728
# 访问swap文件的线程数
vm-max-threads 4
############### 高级配置 ###############
# 哈希表中元素(条目)总个数不超过设定数量时,采用线性紧凑格式存储来节省空间
hash-max-zipmap-entries 512
# 哈希表中每个value的长度不超过多少字节时,采用线性紧凑格式存储来节省空间
hash-max-zipmap-value 64
# list数据类型多少节点以下会采用去指针的紧凑存储格式
list-max-ziplist-entries 512
# list数据类型节点值大小小于多少字节会采用紧凑存储格式
list-max-ziplist-value 64
# set数据类型内部数据如果全部是数值型,且包含多少节点以下会采用紧凑格式存储
set-max-intset-entries 512
# 是否激活重置哈希
activerehashing yes