@File
2019-10-12T03:25:41.000000Z
字数 5597
阅读 60
系统
https://github.com/MicrosoftArchive/redis/releases
#ubuntu
sudo apt-get update
sudo apt-get install redis-server
#centos
sudo yum instal redis-server
redis-server
redis-cli
redis 127.0.0.1:6379>
第一步 编辑文件
# 第一步
sudo vi /etc/init.d/redis
第二步 编辑脚本复制如下代码
注意要修改里面redisd的安装路径(通过命令安装默认路径)
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
PATH=/usr/local/bin
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
#Redis密码 注意修改成你的
PASSWORD=123456
PIDFILE=/var/run/redis.pid
CONF="/usr/local/reids/conf/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 does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$REDIS_CLI -p $REDISPORT -a $PASSWORD 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
第四步 将启动脚本复制到/etc/init.d目录下,本例将启动脚本命名为redisd(通常都以d结尾表示是后台自启动服务)
cp redisd /etc/init.d/redisd
brew install redis
redis-server
redis 127.0.0.1:6379>
redis-cli
开机启动redis命令
$ ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents
使用launchctl启动redis server
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
使用配置文件启动redis server
$ redis-server /usr/local/etc/redis.conf
停止redis server的自启动
$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
redis 配置文件的位置
/usr/local/etc/redis.conf
卸载redis和它的文件
brew uninstallredis rm ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
测试redis server是否启动
$ redis-cli ping
port 7000 //端口7000,7002,7003
bind 本机ip //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize yes //redis后台运行
pidfile /var/run/redis_7000.pid //pidfile文件对应7000,7001,7002
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
# 启动redis,显示加载配置redis.conf
# ./redis-server /path/to/redis.conf
# 停止redis
# redis-cli -h IP -p PORT shutdown
# 可以包含一个或多个其他配置文件,如果多个redis服务器存在标准配置模板,但是每个redis服务器可能有个性化的配置
# include /path/to/local.conf
# include /path/to/other.conf
# bind的是网络接口。对于一个redis服务器来说可以有一个或者多个网卡。比如服务器上有两个网卡:
# bind 192.168.1.100 192.168.1.101,
#如果bind bind 192.168.1.100,则只有该网卡地址接受外部请求,如果不绑定,则两个网卡都接受请求
# bind 192.168.1.100 192.168.1.101
# bind 127.0.0.1 ::1
# 监听端口号,默认为6379,如果为0监听任连接
port 6379
# TCP连接中已完成队列的长度
tcp-backlog 511
#客户端和Redis服务端的连接超时时间,默认为0表示永不超时
timeout 0
# 服务端周期性时间(单位秒)验证客户端是否处在健康状态,避免服务端一直阻塞
tcp-keepalive 300
# Redis以后台守护进程形式启动
daemonize yes
# 配置PID文件路径,当redis以守护进程启动时,它会把PID默认写到 /var/redis/run/redis_6379.pid文件里面
pidfile "/var/run/redis_6379.pid"
#Redis日志级别:debug,verbose,notice,warning,级别一次递增
loglevel notice
#日志文件路径及名称
logfile ""
redis的核心配置文件为redis的解压目录下名为redis.windows-service.conf的模板文件,拷贝一份重命名为redis.conf文件。
Redis 有两种持久化方案,RDB(Redis DataBase)和 AOF (Append Only File).
RDB 是 Redis 默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个dump.rdb文件。Redis 重启会通过加载dump.rdb文件恢复数据。在5.2小结已经涉及到该存储的方式。
Redis 默认不开启。它的出现是为了弥补RDB的不足(数据的不一致性),所以它采用日志的形式来记录每个写操作,并追加到文件中。Redis 重启的会根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。
Linux版Redis的下载地址为:https://redis.io/download
将Redis放入到Linux操作系统中,然后解压,进入到redis-5.0.5目录下:
执行 make 命令
make
如果在使用make命令的时候出现如上的错误,执行以下命令:
apt install gcc automake autoconf libtool make
再次执行 make 命令即可,如果出现错误,可以使用 如下命令:
make MALLOC=libc
启动Redis, 进入到src目录下,执行如下命令:
./redis-server
A. 在redis的解压目录下新建rediscluster文件夹,将redis的解压目录下的redis.conf文件拷贝到rediscluster目录下,将该文件复制六份,名字分别为:
B. 以redis-6379.conf文件为例,修改其中的内容,修改部分内容如下:
port 6379
cluster-enabled yes
cluster-config-file /redis/nodes/nodes-6379.conf #该文件和文件夹不用手动创建
cluster-node-timeout 15000
C. 分别启动六个redis服务,命令如下:
src/redis-server ../rediscluster/redis-6379.conf &
src/redis-server ../rediscluster/redis-6380.conf &
src/redis-server ../rediscluster/redis-6381.conf &
src/redis-server ../rediscluster/redis-6382.conf &
src/redis-server ../rediscluster/redis-6383.conf &
src/redis-server ../rediscluster/redis-6384.conf &
D. 配置集群,进入到redis的src目录下,执行如下命令:
./redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 --cluster-replicas 1
E. shell脚本启动,脚本内容如下:
#!/bin/bash
`/redis/redis-5.0.5/src/redis-server /redis/rediscluster/redis-6379.conf > /dev/null &` &&
`/redis/redis-5.0.5/src/redis-server /redis/rediscluster/redis-6380.conf > /dev/null &` &&
`/redis/redis-5.0.5/src/redis-server /redis/rediscluster/redis-6381.conf > /dev/null &` &&
`/redis/redis-5.0.5/src/redis-server /redis/rediscluster/redis-6382.conf > /dev/null &` &&
`/redis/redis-5.0.5/src/redis-server /redis/rediscluster/redis-6383.conf > /dev/null &` &&
`/redis/redis-5.0.5/src/redis-server /redis/rediscluster/redis-6384.conf > /dev/null &`
sleep 3s
`/redis/redis-5.0.5/src/redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 --cluster-replicas 1 > /dev/null &`