redis安装基本配置


介绍

Redis —— REmote DIctionaryServer,可以直接理解为远程字典服务。

redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,Redis支持各种不同方式的排序。和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,实现数据的持久化。

下载安装

mac:下安装一般使用homebrew,brew install redis 安装即可

一般部署在linux上,通过官网下载 https://redis.io/download  源码, 编译安装


 当前最新版本是redis-3.2.6.tar.gz,   双号的为稳定版,单号的为非稳定版,如:2.9 为单号, 3.2为双号

通过命令行解压:tar zxvf redis-3.2.6.tar.gz

进入文件夹 :cd redis-3.2.6 , 编辑:make

编译完成后会有src 和 conf等文件夹,进入 src 文件夹,执行:make install 进行安装redis

安装完成后,可以启动redis了,执行  ./redis-server


基本配置,举例几个

主要是对redis的主配置文件修改,redis-3.2.6/redis.conf

1.后台进程运行

编辑redis.conf文件,找到daemonize,修改成yes


2.关闭启动服务

关闭 可以通过redis-cli端来操作:

redis-cli -h 127.0.0.1 -p 6379   shutdown

启动:redis-server ,后面可以跟上指定的配置文件

3.设置用户名密码

编辑redis.conf文件

设置过密码后,重启服务后,

通过客户端关闭服务:redis-cli -h 127.0.0.1 -p 6379 -a 密码写在这里  shutdown

客户端连接服务也需要带上密码


master配置了密码,slave如何配置
若master配置了密码则slave也要配置相应的密码参数否则无法进行正常复制的。
slave中配置文件内找到如下行,移除注释,修改密码即可

#masterauth  mstpassword 

4.连接服务器出错

Could not connect to Redis atxxx.xxx.xxx.xxx:6379: Connection refused

编辑redis.conf文件,查看是否将默认只能本地访问redis改为所有IP均可以访问
bind 127.0.0.1 改为 bind 0.0.0.0 
查看端口号是否为6379

5.设置最大内存

编辑redis.conf文件, maxmemory 256mb

6.其他配置项等

daemonize:是否以后台daemon方式运行
pidfile:pid文件位置
port:监听的端口号
timeout:请求超时时间
loglevel:log信息级别
logfile:log文件位置
databases:开启数据库的数量
save * *:保存快照的频率,第一个*表示多长时间(秒级),第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
rdbcompression:是否使用压缩
dbfilename:数据快照文件名(只是文件名,不包括目录)
dir:数据快照的保存目录(这个是目录)
appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
slaveof <masterip> <masterport> :主从配置,在redis-slave上配置master的ip port,即可。

系统服务

习惯了通过service启动一切服务,当然,这跟我生产环境部署有关,通常只分配给用于部署的账户操作service命令的权限。主要是为了确保系统安全。
touch /etc/init.d/redis-server  
chmod +x /etc/init.d/redis-server

vi /etc/init.d/redis-server

    #!/bin/bash  
    #  
    # redis    Startup script for redis processes  
    #  
    # author: niepeng  
    #  
    # processname: redis  
    
    // change your redis path and config.
    redis_path="/usr/local/bin/redis-server"  
    redis_conf="/usr/local/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  

直接通过service命令来操作redis:
service redis-server restart
service redis-server stop
service redis-server start



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值