获取redis

  1. //版本自行确认
  2. wget http://download.redis.io/releases/redis-4.0.8.tar.gz

检测GCC

  1. redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),
  2. 如果没有安装,执行以下命令进行安装
  3. yum install -y gcc

解压

  1. tar -zxvf redis-4.0.8.tar.gz

安装

  1. //依次执行
  2. cd redis-4.0.8
  3. make
  4. cd src
  5. make install PREFIX=/usr/local/redis

移动配置文件到安装目录下

  1. cd ../
  2. mkdir /usr/local/redis/etc
  3. mv redis.conf /usr/local/redis/etc

配置redis为后台启动

  1. vi /usr/local/redis/etc/redis.conf
  2. //将daemonize no 改成daemonize yes

将redis加入到开机启动

  1. vi /etc/rc.local
  2. //在里面添加内容
  3. /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
  4. 意思就是开机调用这段开启redis的命令

启动Redis

  1. /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

检测后台进程是否存在

  1. ps -ef |grep redis

停止redis

  1. pkill redis
  2. kill -9 PID

卸载redis

  1. rm -rf /usr/local/redis //删除安装目录
  2. rm -rf /usr/bin/redis-* //删除所有redis相关命令脚本
  3. rm -rf /root/download/redis-4.0.4 //删除redis解压文件夹

常见配置

  1. # 默认情况下,redis不是在后台模式运行的,如果需要在后台进程运行,把该项的值更改为yes,默认为no
  2. daemonize no
  3. #redis服务以后台进程运行的时候,Redis默认会把pid写入/var/run/redis.pid文件组
  4. pidfile /var/run/redis.pid
  5. # 设置密码
  6. requirepass tenny //注意,行前不能有空格
  7. # 指定redis监听端口,默认为6379
  8. port 6379
  9. # 指定redis只接收来自于该IP地址的请求,如果不进行设置,默认将处理所有请求,我们是在生产环境下,所以这是必备项
  10. bind 10.160.29.5
  11. bind 0.0.0.0 #所有ip
  12. # 设置客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,那么关闭该连接
  13. timeout 2
  14. # 指定日志记录级别
  15. # Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
  16. # debug 记录很多信息,用于开发和测试
  17. # varbose 很多精简的有用信息,不像debug会记录那么多
  18. # notice 普通的verbose,常用于生产环境
  19. # warning 只有非常重要或者严重的信息会记录到日志
  20. loglevel verbose
  21. # 可用数据库数,默认值为16,默认数据库存储在DB 0号ID库中,无特殊需求,建议仅设置一个数据库 databases 1
  22. databases 16
  23. # 把数据库存到磁盘上:
  24. # 下面的例子将会进行把数据写入磁盘的操作:
  25. # 900秒(15分钟)之后,且至少有1个key(次)变更
  26. # 300秒(5分钟)之后,且至少有10个key(次)变更
  27. # 60秒之后,且至少有10000个key(次)变更
  28. # 注意:如果不需要写磁盘,则把所有 "save" 设置注释掉,即实现全内存服务器。
  29. save 900 1
  30. save 300 10
  31. save 60 10000
  32. # 数据库的文件名及存放路径
  33. dbfilename rdbfile.rdb
  34. # 工作目录
  35. # 本地数据库会写到这个目录下,文件名就是上面的 "dbfilename" 的值。
  36. dir /usr/local/rdbfile
  37. # 主从同步。通过 slaveof 配置来实现Redis实例的备份。
  38. # 当本机为从服务时,设置主服务的IP及端口,在Redis启动时,它会自动从主服务进行数据同步
  39. slaveof
  40. #当本机为从服务时,设置主服务的连接密码
  41. # masterauth
  42. # 当一个slave失去和master的连接,或者同步正在进行中,slave的行为有两种可能:
  43. # 1) 如果 slave-serve-stale-data 设置为 "yes" (默认值),slave会继续响应客户端请求,可能是正常数据,也可能是还没获得值的空数据。
  44. # 2) 如果 slave-serve-stale-data 设置为 "no",slave会回复"正在从master同步(SYNC with master in progress)"来处理各种请求,除了 INFO 和 SLAVEOF 命令。
  45. slave-serve-stale-data yes
  46. # slave根据指定的时间间隔向服务器发送ping请求。
  47. # 时间间隔可以通过 repl_ping_slave_period 来设置。
  48. # 默认10秒
  49. repl-ping-slave-period 5
  50. # 设置最大同时连接客户端数量,0表示没有限制,一旦达到这个限制,Redis会关闭所有新连接并发送错误达到最大用户数上限。
  51. maxclients 1024
  52. # 设置最大内存,达到最大内存设置后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理后,任到达最大内存设置,将无法再进行写入操作。
  53. maxmemory 10240000000分配10G内存
  54. # 内存策略:如果达到内存限制了,Redis如何删除key。你可以在下面五个策略里面选:
  55. # volatile-lru -> 根据LRU算法生成的过期时间来删除。
  56. # allkeys-lru -> 根据LRU算法删除任何key。
  57. # volatile-random -> 根据过期设置来随机删除key。
  58. # allkeys->random -> 无差别随机删。
  59. # volatile-ttl -> 根据最近过期时间来删除(辅以TTL)
  60. # noeviction -> 谁也不删,直接在写操作时返回错误。
  61. maxmemory-policy noeviction
  62. # 开启累加模式,因为redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中,这种情况下,当Redis宕机的时候,最新的数据就丢了。
  63. #如果不希望丢掉任何一条数据的话就该用纯累加模式:一旦开启这个模式,Redis会把每次写入的数据在接收后都写入 appendonly.aof 文件。
  64. appendonly yes
  65. # 设置纯累加文件名字及保存路径,默认:"appendonly.aof"
  66. appendfilename appendonly.aof
  67. # Redis慢查询日志可以记录超过指定时间的查询。运行时间不包括各种I/O时间。
  68. slowlog-log-slower-than 10000