标签:tab 持久化 aof 应用 目录 技术 run ack com
Redis是一个开源、先进的key-value存储,并用于构建高性能、可扩展的应用程序的完美解决方案。
Redis从它的许多竞争继承了三个主要特点:
①Redis数据库完全在内存中,使用磁盘仅用于持久性;
②相比许多键值对数据存储,Redis拥有一套较为丰富的数据类型;
③Redis可以将数据复制到任意数据量的从服务器;
异常快速:Redis的速度非常快,每秒能执行约11万次set操作,每秒约81000次get操作;
支持丰富的数据类型:Redis支持字符串string、列表list、集合set、有序集合sorted set、散列map数据类型,这使得它非常容易解决各种各样的问题;
操作都是原子性:所有Redis操作都是原子的;
多功能使用工具:Redis是一个多实用的工具,可用于多种用例,如缓存、消息队列(Redis原生支持发布/订阅),应用程序中的任何短期数据,例如:web应用程序中的会话、网页命中计数等;
原子性(atomicity)说明:一个事务是一个不可分割的最小工作单位,要么都成功要么都失败。
下载redis-4.0.9.tar.gz 版本,并通过Xftp5上传到机器集群的第一个节点node1上的/opt/uploads/目录:
tar zxvf redis-4.0.9.tar.gz
mv redis-4.0.9.tar.gz /opt/app/ && cd /opt/app/
进入Redis目录,cd /opt/app/redis-4.0.9
在该目录下创建Redis源码目录source并把/opt/app/redis-4.0.9目录下的所有源码文件移到源码目录source下,之后再创建安装目录redis
mkdir source
# "|"表示下一个表达式从上一个表达式获取结果数据
# "grep -v source"表示反向选择,即找没有source的行
# "xargs -i mv {} /opt/app/redis-4.0.9/source/"中,xargs表示上一个表达式的结果集合作为该表达式的参数,{}表示遍历
ls | grep -v source | xargs -i mv {} /opt/app/redis-4.0.9/source/
创建redis安装目录
进入redis编译目录source,cd /opt/app/redis-4.0.9/source
先安装gcc,再make编译
sudo yum install gcc
make
把make编译后的可执行文件安装到/opt/app/redis-4.0.9/redis目录下
make PREFIX=/opt/app/redis-4.0.9/redis install
在redis安装目录/opt/app/redis-4.0.9/redis ll查看,可以看到新创建bin目录
可以看到bin目录有几个可执行文件
sudo vi /etc/profile
添加如下内容:
export REDIS_HOME=/opt/app/redis-4.0.9/redis
export PATH=:$PATH:$REDIS_HOME/bin
使环境变量生效:source /etc/profile
启动方式一:Redis前台默认启动
直接启动Redis服务
启动方式二:Redis使用配置文件启动:
进入Redis的安装目录,cd /opt/app/redis-4.0.9/redis
创建conf目录,并将redis的源码目录/opt/app/redis-4.0.9/redis中的redis.conf拷贝到conf目录里:
cp /opt/app/redis-4.0.9/source/redis.conf /opt/app/redis-4.0.9/redis/conf/
进入conf目录,修改配置文件redis.conf,有三点需要修改:
①修改属性 daemonize no -> daemonize yes
②修改生成默认日志文件位置
在redis.conf相应的位置添加 logfile "/opt/app/redis-4.0.9/redis/logs/redis.log"
在/opt/app/redis-4.0.9/redis/目录下创建logs目录,mkdir logs目录
③配置持久化文件存放位置
在redis.conf相应的位置添加 dir /opt/app/redis-4.0.9/redis/data
在/opt/app/redis-4.0.9/redis/目录下创建data目录,mkdir data目录
启动Redis服务,redis-server /opt/app/redis-4.0.9/redis/conf/redis.conf
启动方式三:配置Linux自动启动:
1、准备自启动配置文件redisd
拷贝Redis源码目录source的utils目录下redis_init_script文件到/etc/init.id目录下
sudo cp /opt/app/redis-4.0.9/source/utils/redis_init_script /etc/init.d/redisd (通常都以d结尾表示是后台自启动服务)
2、修改自启动配置文件redisd
redisd原本内容:
REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/usr/local/redis/${REDISPORT}.conf"
将redistask文件内容修改为如下:
REDISPORT=6379
EXEC=/opt/app/redis-4.0.9/redis/bin/redis-server
CLIEXEC=/opt/app/redis-4.0.9/redis/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/opt/app/redis-4.0.9/redis/conf/${REDISPORT}.conf"
3、准备开机启动的配置文件
cp /opt/app/redis-4.0.9/redis/conf/redis.conf /opt/app/redis-4.0.9/redis/conf/6379.conf
4、设置开机启动
chkconfig redisd on
此处直接配置开启自启动chkconfig redisd on
将报错误: service redisd does not support chkconfig
在启动脚本redisd开头添加如下两行注释以修改其运行级别:
#!/bin/sh
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
#
chkconfig redisd on没有权限,则应用sudo去执行,sudo chkconfig redisd on
开启redisd服务,sudo service redisd start
关闭redisd服务,sudo service redisd stop
注意:开启关闭redisd服务应该用sudo,否则设置的redis_6397.id无法创建,导致能成功开启redisd服务,却不能通过service redisd stop关闭,只能通过kill关闭,如图:
正常的应为:
使用上述第五节点任意一种启动方式启动redis服务,在这里,我采用第三种方式启动redis服务
sudo service redisd start
进入redis安装目录log目录,查看redis.log日志,出现下图则redis正常启动
cd redis-4.0.9/redis/logs/
cat redis.log
redis-cli
ps aux | grep redis 或 ps -ef | grep redis
netstat -tunlp 6379 或 netstat -nltp 6379
Redis有两种持久化方案:RDB和AOF
1) RDB方式按照一定的时间间隔对数据集创建基于时间点的快照;
2)AOF方式记录Server收到的写操作到日志文件,在Server重启时通过回收这些写操作来重建数据集。该方式类似于MySQL中基于语句格式的binlog。当日志变大时Redis可在后台重写日志。
默认情况下,Redis保存数据集快照到磁盘,名为dump.rdb的二进制文件。可以设置让Redis在N秒内至少有M次数据集改动时保存数据集,或者你也可以手动调用SAVE或者BGSAVE命令。例如,这个配置会让Redis在每个60秒内至少有1000次键改动时自动转储数据集到磁盘。
save 60 1000
1)修改redis.config配置文件,找到appendonly。默认是appendonly no。改成appendonly yes;
2)再找到appendfsync。默认是appendfsync everysec
appendfsync always
# 每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用
appendfsync everysec
#每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐
appendfsync no
#完全依赖os,性能最好,持久化没保证
Redis数据结构有5种,分别是String、Map、List、Set、SortSet这5种。
标签:tab 持久化 aof 应用 目录 技术 run ack com
原文地址:https://www.cnblogs.com/swordfall/p/8831195.html