ITPub博客

首页 > 数据库 > NoSQL > 【Redis】Redis 2.8.x 源码安装、配置

【Redis】Redis 2.8.x 源码安装、配置

原创 NoSQL 作者:神谕丶 时间:2016-08-08 18:49:40 0 删除 编辑
【安装&初始化安装】
〇 安装依赖
  1. yum install -y tcl gcc gcc-c++
〇 获取源码包、编译安装、检查安装
  1. wget http://download.redis.io/releases/redis-2.8.24.tar.gz
  2. tar xzvf redis-2.8.24.tar.gz
  3. cd redis-2.8.24
  4. make && make install
  5. cd src && make test

〇 初始化(可选)
  1. ../utils/install_server.sh
当然如果需要启动多个实例,也可以通过该脚本生成默认的配置文件,日志文件,和datadir

初始化可以为其指定,也可以直接回车选择默认:
  1. [root@sAno1y src]# ../utils/install_server.sh
  2. Welcome to the redis service installer
  3. This script will help you easily set up a running redis server
  4. Please select the redis port for this instance: [6379] # 为该redis实例配置端口号
  5. Selecting default: 6379
  6. Please select the redis config file name [/etc/redis/6379.conf] # 为该redis实例指定配置文件
  7. Selected default - /etc/redis/6379.conf
  8. Please select the redis log file name [/var/log/redis_6379.log] /data/redis/log/6379.log # 为该redis实例指定日志文件
  9. Please select the data directory for this instance [/var/lib/redis/6379] /data/redis/6379_data # 为该redis实例指定datadir
  10. Please select the redis executable path [/usr/local/bin/redis-server] # 指定执行path
  11. Selected config:
  12. Port : 6379
  13. Config file : /etc/redis/6379.conf
  14. Log file : /data/redis/log/6379.log
  15. Data dir : /data/redis/6379_data
  16. Executable : /usr/local/bin/redis-server
  17. Cli Executable : /usr/local/bin/redis-cli
  18. Is this ok? Then press ENTER to go on or Ctrl-C to abort. # 回车确认,反之ctrl+c中断上述操作
  19. Copied /tmp/6379.conf => /etc/init.d/redis_6379
  20. Installing service...
  21. Successfully added to chkconfig!
  22. Successfully added to runlevels 345!
  23. Starting Redis server...
  24. Installation successful!


【启动&关闭】
〇 利用redis_init_script脚本(该脚本在源码目录中的utils目录下):
启动:
  1. ./redis_init_script start
关闭:
  1. ./redis_init_script stop

当然可以将该脚本cp到/etc/init.d/redis下,这样可以通过service redis start/stop来直接操作,
如果处理多实例,需要修改该脚本,将REDISPORT=6379改成对应的port即可。
如果执行了上一步骤中的install_server.sh脚本,则默认将会在/etc/init.d/中有一个redis_$port的文件……
其实是利用redis_init_script作为模板注册成“服务”


〇 利用redis-server & redis-cli:
启动:
  1. redis-server /etc/redis/6379.conf
 (若要启动不同的实例,需要指定不同配置文件)

关闭:
  1. redis-cli shutdown
 (默认参数为-h 127.0.0.1 -p 6379,若要关闭本机其他实例,需要指定不同的端口)


p.s.
redis_init_script实际上就是通过这redis-server和redis-cli来完成启动和关闭的
打开redis_init_script脚本可以发现这两个变量:
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli


【配置文件】
默认有一个配置文件的模板,在源码目录中的redis.conf。
通过install_server.sh方式初始化实例,实际上也是将该文件cp到用户指定的目录下,并更名为${REDIS_PORT}.conf。
默认值可以直接在redis-cli中查看:
  1. redis 127.0.0.1:6379> config get *

配置文件包括注释总共约有800行,此处忽略注释文件给出一些重要参数的配置:
  1. ########## base setting ##########
  2. # redis将以守护模式运行
  3. daemonize yes
  4. # 指定pid文件路径
  5. pidfile /tmp/redis.pid
  6. # 实例端口号
  7. port 6379
  8. # 绑定主机ip
  9. bind 127.0.0.1
  10. # 当client闲置多久后释放连接,若为0则表示禁用此功能
  11. timeout 300
  12. # 日志级别,分别有debug、verbose、notice、warning,默认为verbose
  13. loglevel notice
  14. # 日志输出方式,默认为logfile stdout,也可以设置为logfile /dev/null,若daemonize yes则会强制将logfile设置为/dev/null
  15. logfile /data/redis/log/6379.log
  16. # 设置数据库的数量
  17. databases 16
  18. # 设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH 命令提供密码,默认关闭
  19. #requirepass password123

  20. # 指定在多长时间内,并统计到n次更新操作,就将数据同步到数据文件(需同时满足两个条件),可以多个条件配合,单位为秒和次
  21. save 1800 1
  22. save 600 10
  23. save 300 1000
  24. # 设置是否将RDB文件压缩,消耗cpu但节省磁盘空间
  25. rdbcompression yes
  26. # RDB文件名,默认为dump.rdb
  27. dbfilename redis-master.rdb
  28. # RDB存放目录
  29. dir /data/redis/6379_data

  30. # 设置同一时间最大客户端连接数,若达到该值,新的连接会返回max number of clients reached,默认无限制(即设置为0)
  31. maxclients 0
  32. # 指定Redis最大内存限制,单位为bytes
  33. maxmemory 8589934592
  34. # 指定达到maxmemory时的过期策略,默认为volatile-lru
  35. # volatile-lru 根据LRU算法,对设置了过期时间的key进行清理
  36. # allkeys-lru 根据LRU算法,对无论是否设置过期时间的key进行清理
  37. # volatile-random 随机删除设置了过期时间的key
  38. # allkeys-random 随机删除无论是否设置了过期时间的key
  39. # volatile-ttl 删除即将过期了的key
  40. # noeviction 不删除任意数据,在写操作时返回错误
  41. maxmemory-policy volatile-lru

  42. # 是否需要用append模式
  43. appendonly no
  44. # 指定append方式的文件名
  45. appendfilename appendonly.aof
  46. # 设置fsync的方式,其中可设置为no,everysec,always。
  47. # no表示不自主fsync(),等待操作系统决定何时落地到磁盘(最快)
  48. # always表示每次更新后就执行fsync()将数据写到磁盘(最慢最安全)
  49. # everysec表示美妙执行一次fsync(),该值为默认
  50. appendfsync everysec
  51. ########## replication setting ##########
  52. # 如果该实例为slave,此处为指定master的ip和port
  53. #slaveof 0.0.0.0 6379
  54. # 如果master有密码验证,则需要指定master的密码,
  55. #masterauth
  56. repl-diskless-sync no
  57. repl-diskless-sync-delay 5
  58. repl-ping-slave-period 10
  59. repl-timeout 60
  60. repl-disable-tcp-nodelay no


更多其他的配置或者是查看上述配置的详细介绍,在redis.conf中都可以找到。


作者微信公众号(持续更新)

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29773961/viewspace-2123171/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
微信公众号:神谕的暗影长廊

注册时间:2014-07-28

  • 博文量
    161
  • 访问量
    1195299