redis的安装

redis安装和配置

1.安装

  • 下载安装包

  • 或者:官网下载 https://redis.io/download

  • 上传到统一的目录:/home/b2c/

  • 解压

 tar -xvf redis-4.0.9.tar.gz
  • 编译安装

 mv redis-4.0.9 redis
cd redis
make && make install

2.配置

修改安装目录下的redis.conf文件

vim redis.conf

修改以下配置:

#bind 127.0.0.1 # 将这行代码注释,监听所有的ip地址,外网可以访问
protected-mode no # 把yes改成no,允许外网访问
daemonize yes # 把no改成yes,后台运行

3.启动或停止

redis提供了服务端命令和客户端命令:

  • redis-server 服务端命令,可以包含以下参数: start 启动 stop 停止

  • redis-cli 客户端控制台,包含参数: -h xxx 指定服务端地址,缺省值是127.0.0.1 -p xxx 指定服务端端口,缺省值是6379

4.设置开机启动

1) 输入命令,新建文件

vim /etc/init.d/redis

输入下面内容:

#!/bin/sh
# chkconfig:   2345 90 10
# description: Redis is a persistent key-value database
PATH=/usr/local/bin:/sbin:/usr/bin:/bin

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli

PIDFILE=/var/run/redis.pid
02当

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 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

然后保存退出

注意:以下信息需要根据安装目录进行调整:

EXEC=/usr/local/bin/redis-server # 执行脚本的地址

REDIS_CLI=/usr/local/bin/redis-cli # 客户端执行脚本的地址

PIDFILE=/var/run/redis.pid # 进程id文件地址

CONF="/usr/local/src/redis-3.0.2/redis.conf" #配置文件地址

2)设置权限

chmod 755 /etc/init.d/redis

3)启动测试

/etc/init.d/redis start

启动成功会提示如下信息:

Starting Redis server...
Redis is running...

4)设置开机自启动

chkconfig --add /etc/init.d/redis
chkconfig redis on

5.Redis配置文件:

## **redis配置文件**
# daemonize no 默认情况下,redis不是在后台运行的,如果需要在后台运行,把该项的值更改为yes
daemonize yes

# 当redis在后台运行的时候,Redis默认会把pid文件放在/var/run/redis.pid,你可以配置到其他地址。
# 当运行多个redis服务时,需要指定不同的pid文件和端口
pidfile /var/run/redis.pid

# 指定redis运行的端口,默认是6379
port 6379

# 指定redis只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求,
# 在生产环境中最好设置该项
# bind 127.0.0.1

# 设置客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,那么关闭该连接
# 0是关闭此设置
timeout 0

# 指定日志记录级别
# Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
# debug 记录很多信息,用于开发和测试
# varbose 有用的信息,不像debug会记录那么多
# notice 普通的verbose,常用于生产环境
# warning 只有非常重要或者严重的信息会记录到日志
loglevel debug

# 配置log文件地址
# 默认值为stdout,标准输出,若后台模式会输出到/dev/null
#logfile stdout
logfile /var/log/redis/redis.log

# 可用数据库数
# 默认值为16,默认数据库为0,数据库范围在0-(database-1)之间
databases 16

# save 900 1 900秒内至少有1个key被改变
# save 300 10 300秒内至少有300个key被改变
# save 60 10000 60秒内至少有10000个key被改变
save 900 1
save 300 10
save 60 10000

# 存储至本地数据库时(持久化到rdb文件)是否压缩数据,默认为yes
rdbcompression yes

#跳过检查rdb文件
rdbchecksum yes

# 本地持久化数据库文件名,默认值为dump.rdb
dbfilename dump.rdb

# 工作目录
# 数据库镜像备份的文件放置的路径。
# 这里的路径跟文件名要分开配置是因为redis在进行备份时,先会将当前数据库的状态写入到一个临时文件中,等备份完成时,
# 再把该该临时文件替换为上面所指定的文件,而这里的临时文件和上面所配置的备份文件都会放在这个指定的路径当中。
# AOF文件也会存放在这个目录下面
# 注意这里必须制定一个目录而不是文件
dir ./

# 当master服务设置了密码保护时(用requirepass制定的密码)
# slav服务连接master的密码
# masterauth <master-password>

设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,
# 如果设置 maxclients 0,表示不作限制。
# 当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息
# maxclients 10000


指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key
# Redis同时也会移除空的list对象
# 当此方法处理后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作
# 注意:Redis新的vm机制,会把Key存放内存,Value会存放在swap区
# maxmemory的设置比较适合于把redis当作于类似memcached的缓存来使用,而不适合当做一个真实的DB。
# 当把Redis当做一个真实的数据库使用的时候,内存使用将是一个很大的开销
# maxmemory <bytes>

# 当内存达到最大值的时候Redis会选择删除哪些数据?有五种方式可供选择
# volatile-lru -> 利用LRU算法移除设置过过期时间的key (LRU:最近使用 Least Recently Used )
# allkeys-lru -> 利用LRU算法移除任何key
# volatile-random -> 移除设置过过期时间的随机key
# allkeys->random -> remove a random key, any key
# volatile-ttl -> 移除即将过期的key(minor TTL)
# noeviction -> 不移除任何可以,只是返回一个写错误
# 注意:对于上面的策略,如果没有合适的key可以移除,当写的时候Redis会返回一个错误
# maxmemory-policy volatile-lru

#设置密码
requirepass foobared

#redis持久化方式aof
# AOF文件名称 (默认: "appendonly.aof")
# appendfilename appendonly.aof

no: 不进行同步,系统去操作 . Faster.
always: always表示每次有写操作都进行同步. Slow, Safest.
everysec: 表示对写操作进行累积,每秒同步一次. Compromise.
appendfsync everysec

 

posted @ 2020-08-27 20:52  风追烟花雨,  阅读(61)  评论(0)    收藏  举报