Redis安装部署

Redis安装部署

PS:redis是一个性能非常优秀的内存数据库,通过key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hashs(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

  1. redis官网

    redis官网

  2. 200-120 
    300-101 
    70-410 
    70-411 
    sy0-401 
    220-801 
    ex0-001 
    2v0-621d 
    2v0-621 
    200-120 
    210-260 
    200-310 
    SY0-401 
    810-403 
    300-320 
    400-101 
    70-533 
    N10-006 

    MB2-707 
    210-060 
    400-201 
    350-018 
    ADM-201 
    CISSP 
    1Z0-060 
    400-051 
    300-075 
    MB2-704 
    100-101 
    9L0-012 
    642-999 
    300-115 
    MB5-705 
    70-461 
    1V0-601 
    300-206 

    352-001 
    70-486 
    300-135 
    NS0-157 
    PR000041 
    300-101 
    70-346 
    CCA-500 
    70-480 
    810-403 
    200-120 
    400-101 
    CISSP 
    300-320 
    350-018 
    300-101 
    210-260 
    300-208 

    MB2-707 
    400-201 
    SY0-401 
    70-462 
    EX200 
    100-101 
    1Z0-803 
    9L0-012 
    70-480 
    200-310 
    EX300 
    ICBB 
    1Z0-808 
    AWS-SYSOPS 
    1Z0-434 
    300-070 
    CAS-002 
    352-001 

    1V0-601 
    220-801 
    N10-006 
    642-999 
    SSCP 
    PMP 
    642-997 
    300-115 
    70-410 
    101-400 
    ITILFND 
    300-075 
    AX0-100 
    400-051 
    2V0-621 
    70-486 
    MB5-705 
    102-400 
    101 

    1Z0-067 
    220-802 
    70-463 
    C_TAW12_731 
    70-494 
    CISM 
    PR000041 
    700-501 
    300-135 
    200-120 
    CISSP 
    400-101 
    810-403 
    300-320 
    210-060 
    300-070 
    210-260 
    300-075 

    300-101 
    NSE4 
    EX200 
    300-115 
    100-101 
    ADM-201 
    N10-006 
    ICBB 
    NSE7 
    70-483 
    70-463 
    400-051 
    70-410 
    70-488 
    SY0-401 
    220-802 
    ITILFND 
    200-310 
    PMP 
    CCA-500 
    300-208 

  3. 一、redis服务器设置规划

            #软件安装包存储:
            /usr/local/src
    
            #redis安装目录列表:
            /usr/local/redis #
            /usr/local/redis/conf #配置目录
            /usr/local/redis/logs #日志目录
            /usr/local/redis/data #数据库存放目录
            命令:mkdir /usr/local/redis;mkdir /usr/local/redis/{conf,data,logs}
    
            为方便查找目录,设置变量
            # vi .bashrc
            alias  worksrc='cd /usr/local/src'
            alias  workredis='cd /usr/local/redis'
            #redis启动
            alias  serredis='service redisd_6379'
    
            配置生效
            # source .bashrc
            

    加入开机启动

            # vim /etc/rc.d/rc.local
            #redis启动
            service redis start
            
  4. 安装需要的支持环境

    在安装Redis之前首要先做的是安装Unix的Tcl工具,如果不安装的话后期将无法对Redis进行测试。在后期执行make test的时候返回如下错误信息:You need tcl 8.xuyao de5 or newer in order to run the Redis test

            #依赖包gcc-c++
            yum install gcc-c++;
            #依赖tcl
            cd /usr/local/src;
            wget http://downloads.sourceforge.net/tcl/tcl8.6.3-src.tar.gz;
            tar -zxvf tcl8.6.3-src.tar.gz;
            cd ​tcl8.6.3/unix/;
            ./configure;
            make && make install;
            #命令汇总:
            yum install gcc-c++;cd /usr/local/src;wget http://downloads.sourceforge.net/tcl/tcl8.6.3-src.tar.gz;tar -zxvf tcl8.6.3-src.tar.gz;cd tcl8.6.3/unix/;./configure;make && make install;
            
  5. 源码安装

            cd /usr/local/src/;
            #源码下载,解压
            wget http://download.redis.io/releases/redis-3.0.1.tar.gz;
            tar xzf redis-3.0.1.tar.gz;
            cd redis-3.0.1;
            #安装到指定目录中
            make PREFIX=/usr/local/redis install;
            #命令汇总:
            cd /usr/local/src/;wget http://download.redis.io/releases/redis-3.0.1.tar.gz;tar -zxvf redis-3.0.1.tar.gz;cd redis-3.0.1;make PREFIX=/usr/local/redis install;
            

    注意上面的最后一行,我们通过PREFIX指定了安装的目录。
    安装完成后,会/usr/local/redis/bin/目录下生成5个可执行文件

            ls /usr/local/redis/bin/;
            redis-server    #Redis服务器的daemon启动程序
            redis-cli       #Redis命令行操作工具。
            redis-benchmark #Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
            redis-check-dump #检查file.rdb文件
            redis-check-aof  #检查file.aof文件
            
  6. 复制并配置redis

            #复制配置(为了单台方便增加多个redis实例,配置名以当前实例的port为标记)
            cp /usr/local/src/redis-3.0.1/redis.conf /usr/local/redis/conf/6379.conf;
            #配置redis
            vim /usr/local/redis/conf/6379.conf;
            daemonize yes
            port 6379
            timeout 300​
            pidfile /usr/local/redis/redis_6379.pid #(pid名以port为标记)
            loglevel notice
            logfile /usr/local/redis/logs/redis_6379.log #(logfile名以port为标记)
            dbfilename dump_6379.rdb #(dbfilename名以port为标记)
            dir /usr/local/redis/data
            

    配置参数说明

            #redis 以后台进程运行,默认为NO
            daemonize yes
            #后台程序运行设置PID
            pidfile /usr/local/redis/redis.pid
            #redis服务绑定的主机IP
            bind 127.0.0.1
            #redis监听的端口,默认为6379
            port 6379
            #客户端连接超时时间,默认为300秒
            timeout 600
            #---日志设置---
            loglevel notice #级别,分为debug,verbose(default),notice,waring
            logfile /usr/local/redis/logs/redis.log #日志文件存放位置,默认为stdout
            #---数据库设置---
            databases 16 #可用数据库数,默认为16
            requirepass 123456 #设置redis数据库连接密码
            dbfilename dump.rdb #数据库名
            dir /usr/local/redis/data #设置本地数据库存放路径
            #保存数据库快照频率,在一定时间内执行一定数量的写操作时,自动保存快照
            save 900 1    #900秒内至少有一个key被改变
            save 300 10   #300秒内至少有十个key被改变
            save 60 10000 #60秒内只要有一万个key被改变
            rdbcompression yes #存储到本地数据库是否压缩,默认为yes
            maxclients 128 #客户端最大连接数,默认不限制
            #---数据日志记录---
            appendonly yes #开启日志记录
            appendfilename appendonly.aof #更新日志文件名
            appendfsync everysec #always、no、everysec(每秒执行同步)
            no-appendfsync-on-rewrite no
            auto-aof-rewrite-percentage 100
            auto-aof-rewrite-min-size 64mb
            slowlog-log-slower-than 10000
            slowlog-max-len 1024
            really-use-vm yes
            #---虚拟内存设置---
            vm-enabled yes #是否使用虚拟内存,默认为no
            vm-swap-file /tmp/redis.swap #虚拟内存文件路径,默认/tmp/redis.swap
            vm-max-memory 0 #默认值为零,所有的values存储在磁盘
            vm-page-size 32 #虚拟内存文件以块存储,每块32bytes
            vm-pages 134217728 #虚拟内存文件的最大数
            vm-max-threads 4 #设置访问swap文件的线程数
            #指定在超过一定数量或者最大元素超过某一临界时,采用一种特殊的哈希算法
            hash-max-zipmap-entries 512
            hash-max-zipmap-value 64
            list-max-ziplist-entries 512
            list-max-ziplist-value 64
            set-max-intset-entries 512
            zset-max-ziplist-entries 128
            zset-max-ziplist-value 64
            #是否重置Hash表
            activerehashing yes
            
  7. 启动脚本

    redis自带启动脚本
    /usr/local/src/redis-3.0.1/utils/redis_init_script

            #(为了单台方便增加多个redis实例,脚本名以当前实例的port为标记)
            cp /usr/local/src/redis-3.0.1/utils/redis_init_script /usr/local/redis/redisd_6379
            vim /usr/local/redis/redisd_6379
            #依据实际情况改变相应配置
            #!/bin/sh
            #
            # Simple Redis init.d script conceived to work on Linux systems
            # as it does use of the /proc filesystem.
    
            REDISPORT=6379 #当前实例的port
            EXEC=/usr/local/redis/bin/redis-server
            CLIEXEC=/usr/local/redis/bin/redis-cli
    
            PIDFILE=/usr/local/redis/redis_${REDISPORT}.pid
            CONF="/usr/local/redis/conf/${REDISPORT}.conf"
    
            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
                    ;;
                stop)
                    if [ ! -f $PIDFILE ]
                    then
                        echo "$PIDFILE does not exist, process is not running"
                    else
                        PID=$(cat $PIDFILE)
                        echo "Stopping ..."
                        $CLIEXEC -p $REDISPORT shutdown
                        while [ -x /proc/${PID} ]
                        do
                            echo "Waiting for Redis to shutdown ..."
                            sleep 1
                        done
                        echo "Redis stopped"
                    fi
                    ;;
                *)
                    echo "Please use start or stop as first argument"
                    ;;
            esac
            
            #启动或关闭服务
            chmod +x /usr/local/redis/redisd_6379;
            ln -f -s /usr/local/redis/redisd_6379 /etc/init.d/redisd_6379;
            service redisd_6379 start
            
  8. 查看启动

            [root@local conf]# netstat -tunlp | grep redis
            tcp  0  0 0.0.0.0:6379  0.0.0.0:*  LISTEN  13672/redis-server
            tcp  0  0 :::6379       :::*       LISTEN  13672/redis-server
            [root@local conf]# ps -ef | grep redis
            root  13672  1  0 19:23 ?  00:00:00 /usr/local/redis/bin/redis-server *:6379
            
相关文章
  1. 对Web静态资源缓存自动更新的思考与实践的总结
  2. 单机多git帐号的访问详解案例
  3. CentOS 6.5安装部署SVN 1.8.13
  4. php-redis扩展
  5. gearman应用-分布式图库系统设计
  6. SVN trunk, branches and tags
本站版权
1、本站所有主题由该文章作者发表,该文章作者与尘埃享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和尘埃的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:
二维码
Posted in Cache/File存储, redis
Comments are closed.