Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。
下面介绍下Redis在Mac系统上的安装,仅供测试和学习使用。本文件的配置文件及脚本在gitee上可查看 https://gitee.com/akonvm/redis-demo/tree/master/standalone
1. 下载、解压及编译
在官网下载页面下载最新版本,我用的是5.0.7版本
按下面命令解压和编译
$ cd /Users/ankang/develop
$ tar -zxvf redis-5.0.7.tar.gz
$ cd redis-5.0.7/
$ make
// 为了登录方便,添加快捷命令
$ ln -s /Users/ankang/develop/redis-5.0.7/src/redis-cli /usr/local/bin/redis-cli
2. 设置redis配置文件
演示过程在redis-demo
目录中进行
$ cd /Users/ankang/develop/redis-demo
// 存放配置文件目录
$ mkdir -p standalone/conf
// 存放持久文件目录
$ mkdir -p standalone/data
// 存放日志文件目录
$ mkdir -p standalone/logs
$ cd standalone/conf/
// 拷贝一份redis配置文件模板
$ cp /Users/ankang/develop/redis-5.0.7/redis.conf redis-6379.conf
编辑redis-6379.conf
配置文件,做如下修改,按内容在模板中顺序列出
# 绑定本机回环地址(本机调用时)或者本机私有IP(机器间调用时)
bind 127.0.0.1
# 启用保护模式
protected-mode yes
# 修改为守护模式,使之可以后台运行
daemonize yes
# 设置进程文件
pidfile /var/run/redis-6379.pid
# 设置进日志文件
logfile "/Users/ankang/develop/redis-demo/standalone/logs/redis-6379.log"
# 指定本地持久化文件名
dbfilename dump-6379.rdb
# 指定本地持久化文件目录
dir /Users/ankang/develop/redis-demo/standalone/data
# 设置密码
requirepass admin123
另外,持久化方式默认使用快照持久化
3. 添加启动脚本
redis提供了启动脚本的模板,是redis-5.0.7/utils
目录下的redis_init_script
,但是在Mac系统下按配置文件中的设定生成pid文件,所以脚本中有关探测pid进行的命令都无效,这里只拷贝需要的内容。
编辑文件redis-6379.sh
$ cd /Users/ankang/develop/redis-demo/standalone
$ vim redis-6379.sh
保存内容
#!/bin/sh
set -e
REDISPORT=6379
PASSWORD="admin123"
EXEC="/Users/ankang/develop/redis-5.0.7/src/redis-server"
CLIEXEC="/Users/ankang/develop/redis-5.0.7/src/redis-cli"
CONF="/Users/ankang/develop/redis-demo/standalone/conf/redis-${REDISPORT}.conf"
case "$1" in
start)
echo "Starting Redis server..."
$EXEC $CONF
;;
stop)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT -a $PASSWORD shutdown
echo "Waiting for Redis to shutdown ..."
sleep 2
echo "Redis stopped"
;;
*)
echo "Please use start or stop as first argument"
;;
esac
目录结构如下
4. 启动与关闭
执行如下命令即可启动redis
$ sh redis-6379.sh start
关闭执行如下命令
$ sh redis-6379.sh stop
5. 登录及操作
$ redis-cli -p 6379 -a admin123
127.0.0.1:6379> set address beijing
OK