jinquan26 发表于 2018-11-5 07:14:50

redis介绍以及安装

  前面2篇文章我们简单了解了memcached的安装以及结合php。现在我介绍另一个nosql键值数据库redis,通过学习查资料发现redis使用的场合比memcached多,功能也更加强大。下面会通过几篇文章慢慢介绍redis,让大家对redis有进一步的了解。
  首先简单介绍一下redis
  1)redis是一个key-value存储系统,官方站点 http://redis.io;
  2)和memcached类似,但支持数据持久化;
  3)支持更多value类型,除了和string外,还支持hash、lists(链表)、sets(集合)和sorted sets(有序集合)几种数据类型;
  4)redis使用了两种文件格式:全量数据(RDB)和增量请求(aof)。全量数据格式是把内存中的数据写入磁盘,便于下次读取文件进行加载。增量请求文件则是把内存中的数据序列化为操作请求,用于读取文件进行replay得到数据;
  5)redis的存储分为内存存储、磁盘存储和log文件三部分。
  接下来就是redis的安装
  wget https://codeload.github.com/antirez/redis/tar.gz/2.8.21
  mv 2.8.21redis-2.8.21.tar.gz
  tar zxvf redis-2.8.21.tar.gz
  cd redis-2.8.21
  yum install -y gcc epel-releasejemalloc-devel
  make如果出错,运行如下命令:
  cd deps; make hiredis lua jemalloc linenoise; cd..; make
  make PREFIX=/usr/local/redis install
  mkdir /usr/local/redis/etc
  编写配置文件(大家网上搜一下都能找到)
  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 yes
  appendfilename "appendonly.aof"
  appendfsync always
  ############
  关于上述配置我会在接下来的文章中单独讲解redis的配置参数。
  接着还要编辑启动脚本
  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)
  ;;
  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 $?
  ######################
  最后创建用户并加入系统服务
  useradd-s /sbin/nologin redis
  mkdir /usr/local/redis/var
  chmod777 /usr/local/redis/var    //var目录是用来存放pid文件以及log文件
  chmod755 /etc/init.d/redis
  chkconfig --add redis
  service redis start
  ------后续会继续介绍redis的数据结构以及配置文件----------

页: [1]
查看完整版本: redis介绍以及安装