Mac/Linux 编译安装redis 一.下载安装 二. 服务配置

 官网http://redis.io/ 下载最新的稳定版本,这里是3.2.0

sudu mv redis-3.2.0.tar /usr/local/
sudo tar -zxf redis-3.2.0.tar  #解压文件
cd redis-3.2.0 #进入解压后的目录
sudo make test #测试编译

Mac/Linux 编译安装redis
一.下载安装
二. 服务配置

 6. sudo make install 

Mac/Linux 编译安装redis
一.下载安装
二. 服务配置

  安装成功!


【2019年11月22日 在linux机器上安装报错:You need tcl 8.5 or newer in order to run the Redis test】

Mac/Linux 编译安装redis
一.下载安装
二. 服务配置

 解决方案:

yum install tcl
多次安装和卸载,重复安装没有卸载干净会报下面的错: 
[exception]: Executing test client: couldn't execute "src/redis-benchmark": 
make[1]: *** [test] Error 1 make: *** [test] Error 2

解决这个错误,执行下面的语句即可: 
make distclean 
make 
make test

二. 服务配置

  切换到root用户

  1. /usr/local 建立相关目录    

    sudo mkdir -p  /usr/local/redis/bin                               

    sudo mkdir -p  /usr/local/redis/etc

    sudo mkdir -p  /usr/local/redis/db

  2. 拷贝/usr/local 下的 bin 目录下的redis-* 系列文件 到 /usr/local/redis/bin

    sudo cp /usr/local/bin/reids-*   /usr/local/redis/bin

  3. 拷贝/usr/local/redis/redis-3.2.0/src 下的 mkreleasehdr.sh  到  /usr/local/redis/bin下 

    sudo cp /usr/local/redis3.2.0/src/mkreleasehdr.sh   /usr/local/redis/bin/

    Mac/Linux 编译安装redis
一.下载安装
二. 服务配置

  4. 拷贝 redis.conf 到 /usr/local/redis/etc下    

     sudo cp /usr/local/redis-3.2.0/redis.conf   /usr/local/redis/etc 

  5. 修改 redis.conf

     vim redis.conf

#修改为守护模式
daemonize yes
#设置进程锁文件
pidfile /usr/local/redis/redis.pid
#端口
port 6379
#客户端超时时间
timeout 300
#日志级别
loglevel debug
#日志文件位置
logfile /usr/local/redis/log-redis.log
#设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id
databases 8
##指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
#save <seconds> <changes>
#Redis默认配置文件中提供了三个条件:
save 900 1
save 300 10
save 60 10000
#指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,
#可以关闭该#选项,但会导致数据库文件变的巨大
rdbcompression yes
#指定本地数据库文件名
dbfilename dump.rdb
#指定本地数据库路径
dir /usr/local/redis/db/
#指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能
#会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有
#的数据会在一段时间内只存在于内存中
appendonly no
#指定更新日志条件,共有3个可选值:
#no:表示等操作系统进行数据缓存同步到磁盘(快)
#always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
#everysec:表示每秒同步一次(折衷,默认值)
appendfsync everysec
</changes></seconds></dbid>

6. 修改权限为当前使用者 xxx

    chown -R xxxx /usr/local/redis  

7.启动服务

     cd /usr/local/redis

    ./bin/redis-server ./etc/redis.conf

8.访问服务

     cd /usr/local/redis

     ./bin/redis-cli