• 配置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 )
    
    ?>
    

      

  • 相关阅读:
    SpringCloud Eureka的一些问题
    git branch---删除命令
    go:cannot find main module;see 'go help modules'
    ERROR: yaml.scanner.ScannerError: while scanning for the next token found character ' ' that cannot
    vscode 打开wsl2:ubuntu中的文件进行编辑保存提示没有权限
    Ubuntu20.04 wechat和qq 字体太小,乱码 #
    ubuntu20.4 微信安装
    centos7中在环境变量中添加了GO的PATH,但依然无效
    直接把linux装在了物理机上
    win10 + linux 双系统安装
  • 原文地址:https://www.cnblogs.com/ldcheng/p/7382425.html
Copyright © 2020-2023  润新知