zhouandtao 发表于 2018-11-4 10:25:00

redis 单点部署

  1.支持数据的持久化
  2.支持更多数据类型,除了string外,还支持hash、list(列表)、sets(集合)和sorted sets(有序列表)
  3.redis使用了两种文件格式:全量数据RDB和增量请求aof
  安装
  1.下载:
  wget 'https://codeload.github.com/antirez/redis/tar.gz/2.8.21' -O redis.2.8.21.tar.gz
  2.解压文件
  tar zxvf redis.2.8.21.tar.gz
  3.进入解压目录
  cd redis.2.8.21
  4.安装
  make;
  make PREFIX=/usr/local/redis install
  5.安装完只有bin目录,这里需要新建配置文件目录
  mkdir /usr/local/redis/etc
  6.配置文件
  vim /usr/local/redis/etc/redis.conf
  daemonize yes
  pidfile /usr/local/redis/var/redis.pid
  port 6379
  timeout 300
  loglevel debug
  logfile /usr/local/redis/var/redis.log
  databases 16
  save 900 1
  save 300 10
  save 60 10000
  rdbcompression yes
  dbfilename dump.rdb
  dir /usr/local/redis/var/
  appendonly no
  appendfsync always
  #下面是redis.conf的主 要配置参数的意义:
  #daemonize:是否以后台daemon方式运行
  #pidfile:pid文件位置
  #port:监听的端口号
  #timeout:请求超时时间
  #loglevel:log信息级别
  #logfile:log文件位置
  #databases:开启数据库的数量
  #save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
  #rdbcompression:是否使用压缩
  #dbfilename:数据快照文件名(只是文件名,不包括目录)
  #dir:数据快照的保存目录(这个是目录)
  #appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
  #appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
  7.启动脚本
  vim /etc/init.d/redis
  #!/bin/sh
  #
  # redis      init file for starting up the redis daemon
  #
  # chkconfig:   - 20 80
  # description: Starts and stops the redis daemon.
  # Source function library.
  . /etc/rc.d/init.d/functions
  name="redis-server"
  basedir="/usr/local/redis"
  exec="$basedir/bin/$name"
  pidfile="$basedir/var/redis.pid"
  REDIS_CONFIG="$basedir/etc/redis.conf"
  [ -e /etc/sysconfig/redis ] && . /etc/sysconfig/redis
  lockfile=/var/lock/subsys/redis
  start() {
  [ -f $REDIS_CONFIG ] || exit 6
  [ -x $exec ] || exit 5
  echo -n $"Starting $name: "
  daemon --user ${REDIS_USER-redis} "$exec $REDIS_CONFIG"
  retval=$?
  echo
  [ $retval -eq 0 ] && touch $lockfile
  return $retval
  }
  stop() {
  echo -n $"Stopping $name: "
  killproc -p $pidfile $name
  retval=$?
  echo
  [ $retval -eq 0 ] && rm -f $lockfile
  return $retval
  }
  restart() {
  stop
  start
  }
  reload() {
  false
  }
  rh_status() {
  status -p $pidfile $name
  }
  rh_status_q() {
  rh_status >/dev/null 2>&1
  }
  case "$1" in
  start)
  rh_status_q && exit 0
  $1
  ;;
  stop)
  rh_status_q || exit 0
  $1
  ;;
  restart)
  $1
  ;;

  >  rh_status_q || exit 7
  $1
  ;;
  force-reload)
  force_reload
  ;;
  status)
  rh_status
  ;;
  condrestart|try-restart)
  rh_status_q || exit 0
  restart
  ;;
  *)
  echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart}"
  exit 2
  esac
  exit $?
  8.添加一个普通用户
  useradd -s /sbin/nologin redis
  9.创建var目录,该目录会存放pid,rdb等文件
  mkdir /usr/local/redis/var
  10.修改权限,添加到服务列表并开机启动
  chmod 777 /usr/local/redis/var
  chmod 755 /etc/init.d/redis
  chkconfig --add redis
  chkconfig redis on
  11.启动redis服务
  service redis start
  12.查看(监听的是6379端口)
  ps aux | grep redis
  注意:可能缺少某些库文件,需要安装epel扩展源:
  yum install -y epel-release
  yum install -y jemalloc-devel
  安装时提示缺少某个文件或目录:
  cd deps/
  make hiredis lua jemalloc linenoise
  然后回到安装目录继续

页: [1]
查看完整版本: redis 单点部署