zoukankan      html  css  js  c++  java
  • 配置Redis

    说明:

    操作系统:CentOS

    1、安装编译工具

    yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl

    2、安装tcl组件包(安装Redis需要tcl支持)

    下载:tcl8.6.1-src.tar.gz

    上传tcl8.6.1-src.tar.gz到/usr/local/src目录

    cd /usr/local/src #进入软件包存放目录

    tar zxvf tcl8.6.1-src.tar.gz #解压

    cd tcl8.6.1 #进入安装目录

    cd unix

    ./configure --prefix=/usr --without-tzdata --mandir=/usr/share/man $([ $(uname -m) = x86_64 ] && echo --enable-64bit) #配置

    make #编译

    sed -e "s@^(TCL_SRC_DIR=').*@1/usr/include'@" -e "/TCL_B/s@='(-L)?.*unix@='1/usr/lib@" -i tclConfig.sh

    make install #安装

    make install-private-headers

    ln -v -sf tclsh8.6 /usr/bin/tclsh

    chmod -v 755 /usr/lib/libtcl8.6.so

    3、安装Redis

    下载:http://download.redis.io/redis-stable.tar.gz

    上传redis-stable到/usr/local/src目录

    cd /usr/local/src

    tar -zxvf redis-stable.tar.gz #解压

    mv redis-stable /usr/local/redis #移动文件到安装目录

    cd /usr/local/redis #进入安装目录

    make #编译

    make install #安装

    cd /usr/local/bin #查看是否有下面文件,如果没有,拷贝下面文件到/usr/local/bin目录

    cd /usr/local/redis

    mkdir -p /usr/local/bin

    cp -p redis-server /usr/local/bin

    cp -p redis-benchmark /usr/local/bin

    cp -p redis-cli /usr/local/bin

    cp -p redis-check-dump /usr/local/bin

    cp -p redis-check-aof /usr/local/bin

    ln -s /usr/local/redis/redis.conf /etc/redis.conf #添加配置文件软连接

    vi /etc/redis.conf #编辑

    daemonize yes #设置后台启动redis

    :wq! #保存退出

    redis-server /etc/redis.conf #启动redis服务

    redis-cli shutdown #关闭redis

    vi /etc/sysctl.conf #编辑,在最后一行添加下面代码

    vm.overcommit_memory = 1

    :wq! #保存退出

    sysctl -p #使设置立即生效

    4、设置redis开机启动

    vi /etc/init.d/redis #编辑,添加以下代码

    #!/bin/sh
    
    # chkconfig: 2345 90 10
    
    # description: Redis is a persistent key-value database
    
    # redis Startup script for redis processes
    
    # processname: redis
    
    redis_path="/usr/local/bin/redis-server"
    
    redis_conf="/etc/redis.conf"
    
    redis_pid="/var/run/redis.pid"
    
    # Source function library.
    
    . /etc/rc.d/init.d/functions
    
    [ -x $redis_path ] || exit 0
    
    RETVAL=0
    
    prog="redis"
    
    # Start daemons.
    
    start() {
    
    if [ -e $redis_pid -a ! -z $redis_pid ];then
    
    echo $prog" already running...."
    
    exit 1
    
    fi
    
    echo -n $"Starting $prog "
    
    # Single instance for all caches
    
    $redis_path $redis_conf
    
    RETVAL=$?
    
    [ $RETVAL -eq 0 ] && {
    
    touch /var/lock/subsys/$prog
    
    success $"$prog"
    
    }
    
    echo
    
    return $RETVAL
    
    }
    
    # Stop daemons.
    
    stop() {
    
    echo -n $"Stopping $prog "
    
    killproc -d 10 $redis_path
    
    echo
    
    [ $RETVAL = 0 ] && rm -f $redis_pid /var/lock/subsys/$prog
    
    RETVAL=$?
    
    return $RETVAL
    
    }
    
    # See how we were called.
    
    case "$1" in
    
    start)
    
    start
    
    ;;
    
    stop)
    
    stop
    
    ;;
    
    status)
    
    status $prog
    
    RETVAL=$?
    
    ;;
    
    restart)
    
    stop
    
    start
    
    ;;
    
    condrestart)
    
    if test "x`pidof redis`" != x; then
    
    stop
    
    start
    
    fi
    
    ;;
    
    *)
    
    echo $"Usage: $0 {start|stop|status|restart|condrestart}"
    
    exit 1
    
    esac
    
    exit $RETVAL

    :wq! #保存退出

    chmod 755 /etc/init.d/redis #添加脚本执行权限

    chkconfig --add redis #添加开启启动

    chkconfig --level 2345 redis on #设置启动级别

    chkconfig --list redis #查看启动级别

    service redis restart #重新启动redis

    5、设置redis配置文件参数

    mkdir -p /usr/local/redis/var #创建redis数据库存放目录

    vi /etc/redis.conf #编辑

    daemonize yes #以后台daemon方式运行redis

    pidfile "/var/run/redis.pid" #redis以后台运行,默认pid文件路径/var/run/redis.pid

    port 6379 #默认端口

    bind 127.0.0.1 #默认绑定本机所有ip地址,为了安全,可以只监听内网ip

    timeout 300 #客户端超时设置,单位为秒

    loglevel verbose #设置日志级别,支持四个级别:debug、notice、verbose、warning

    logfile stdout #日志记录方式,默认为标准输出,logs不写文件,输出到空设备/deb/null

    logfile "/usr/local/redis/var/redis.log" #可以指定日志文件路径

    databases 16 #开启数据库的数量

    save 900 1

    save 300 10

    save 60 10000

    创建本地数据库快照,格式:save * *

    900秒内,执行1次写操作

    300秒内,执行10次写操作

    60秒内,执行10000次写操作

    rdbcompression yes #启用数据库lzf压缩,也可以设置为no

    dbfilename dump.rdb #本地快照数据库名称

    dir "/usr/local/redis/var/" #本地快照数据库存放目录

    requirepass 123456 #设置redis数据库连接密码

    maxclients 10000 #同一时间最大客户端连接数,0为无限制

    maxmemory 1024MB #设定redis最大使用内存,值要小于物理内存,必须设置

    appendonly yes #开启日志记录,相当于MySQL的binlog

    appendfilename "appendonly.aof" #日志文件名,注意:不是目录路径

    appendfsync everysec #每秒执行同步,还有两个参数always、no一般设置为everysec,相当于MySQL事物日志的写方式

    :wq! #保存退出

    service redis restart #重启

    6、测试redis数据库

    redis-cli -a 123456 #连接redis数据库,注意:-a后面跟redis数据库密码

    set name 111cn.net #写数据

    get name #读取数据

    exit #退出redis数据库控制台

    redis-benchmark -h 127.0.0.1 -p 6379 -c 1000 -n 100000 #1000个并发连接,100000个请求,测试127.0.0.1端口为6379的redis服务器性能

    7、通过php程序连接redis数据库 #php必须先安装Redis扩展

    redis数据库IP:127.0.0.1

    端口:6379

    密码:123456

    测试代码:

    <?php
    
    $redis = new Redis();
    
    $redis->connect('127.0.0.1',6379);
    
    $redis->auth('123456');
    
    $redis->select(1);
    
    $ret = $redis->set('baidu.com', 'baidu');
    
    var_dump($ret);
    
    $allKeys = $redis->keys('*');
    
    print_r($allKeys);
    
    ?>
    
    把上面代码保存为test.php,打开之后会出现如下页面
    
    bool(true) Array ( [0] => www.baidu.com )
    
    ?>
    

      

  • 相关阅读:
    383. Ransom Note
    598. Range Addition II
    453. Minimum Moves to Equal Array Elements
    492. Construct the Rectangle
    171. Excel Sheet Column Number
    697. Degree of an Array
    665. Nondecreasing Array
    视频网站使用H265编码能提高视频清晰度吗?
    现阶段的语音视频通话SDK需要解决哪些问题?
    企业远程高清会议平台视频会议系统在手机端使用的必备要求有哪些?
  • 原文地址:https://www.cnblogs.com/ldcheng/p/7382425.html
Copyright © 2011-2022 走看看