redis安装、配置、使用

    xiaoxiao2022-07-05  150

    1、先到Redis官网(redis.io)下载redis安装包

    或者直接使用命令下载:wget http://download.redis.io/redis-stable.tar.gz

    2、将其下载到我的/opt目录下

    3、解压并进入其目录

    cd /opt

    tar -zxvf redis-5.0.4.tar.gz

    cd redis-5.0.4

    4、编译源程序

    make 

    cd src

    make install PREFIX=/usr/local/redis

    注:若make编译失败,则查看linux系统缺少的组件,先安装对应组件后,然后删除redis-5.0.4目录,再重新从第3步开始执行。

    5、将配置文件移动到redis目录

    mv redis.conf /usr/local/redis/

    6、启动redis服务与停止

    (如果指定端口则在执行时加-p 6379,如果指定密码,则加-a 123456.如./redis-cli -p 6379 -a 123456 shutdown)

    cd /usr/local/redis/bin

    启动redis服务命令:./redis-server /usr/local/redis/redis.conf

    默认情况,Redis不是在后台运行,我们需要把redis放在后台运行

    此时可以直接ctrl+c命令终结进程,但是如果设置了后台守护线程后,就需要执行命令来停止了。

    停止redis服务命令:./redis-cli shutdown

    7、redis可运行最基础设置修改

    1)daemonize的值改为yes

    2)requirepass的值改为(自己的密码)

    3)protected-mode的值改为no

    4)bind 127.0.0.1注释

    5)maxmemory (具体大小,如5G)

    6)maxmemory-policy volatile-lru

    linux命令行修改redis.conf文件命令:

    如果进行vim操作,主要是这几个命令: vim /usr/local/redis/redis.conf i:进入编辑模式。 esc:退出编辑模式,进入浏览模式(进入vim编辑器,默认就是浏览模式)。 :wq:保存修改并退出vim编辑器。

    重新执行启动命令:./redis-server /usr/local/redis/redis.conf

    8、客户端连接命令

    ./redis-cli [-p port] [-a password] 

    9、设置redis开机自启

    /etc/rc.local文件加入/usr/local/redis/bin/redis-server /usr/local/redis/redis-conf

    10,工具介绍:

    redis-benchmark:redis性能测试工具

    redis-check-aof:检查aof日志的工具

    redis-check-rdb:检查rdb日志的工具

    redis-cli:连接用的客户端

    redis-server:redis服务进程

    如:

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

    aof修复命令:redis-check-aof --fix appendonlly.aof

    rdb修复命令:redis-check-rdb--fix dump.rdb

    11、config配置

    a)重要配置:

    daemonize yes #指定Redis以守护进程的方式运行。

    requirepass 123456 #设置Redis连接密码为123456。默认关闭(即注释此配置)。

    port 6379 #指定监听端口,默认端口为6379。

    bind 127.0.0.1 #绑定的主机IP地址为本地。可以指定为具体局域网IP或者关闭此设置。

    maxmemory 5GB #设定redis最大使用内存为5G,值要小于物理内存,必须设置

    maxmemory-policy noeviction 达到最大内存时的淘汰策略:

    内存淘汰策略: volatile-lru -> 使用 LRU 算法移除包含过期设置的 key 。 allkeys-lru -> 根据 LRU 算法移除所有的 key 。 volatile-random -> 随机移除一个包含过期设置的key。 allkeys-random -> 随机移除任意一个key。 volatile-ttl -> 移除最接近国其时间的key (minor TTL)。 noeviction -> 不让任何 key 过期,只是给写入操作返回一个错误。

    b)基本配置

    loglevel notice #设置日志级别,支持四个级别:debug、notice、verbose、warning。生产环境下一般开启notice

    logfile "/usr/local/redis/log/redis.log"  #配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上 .可以指定日志文件路径

    pidfile /var/run/redis_6379.pid   #当Redis以守护进程方式运行时,把pid写入指定的文件。

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

    databases 16 #设置数据库的数量。默认是使用第0个数据库。如果需要使用其他数据库,则使用select <dbid> 命令进行切换。

    maxclients 10000 #设置最大客户端连接数,0和默认为无限制。达到此数目后,会关闭新连接并返回错误。

    c)备份配置

    1)快照类型rdb

    Save #redis持久化的频率,可以全部注释表示不写入,也可以设置。Redis默认配置文件中提供了三个条件:

    save 900 1

    save 300 10

    save 60 10000 #分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改的时候,同步数据到磁盘文件,即生成快照rdb文件。

    rdbcompression yes #指定存储至本地数据库时是否压缩数据,默认为yes。

    dbfilename dump.rdb #指定本地数据库文件名。

    dir /usr/local/redis/data/ #指定本地数据库存放目录。

    2)实时记录写操作aof

    appendonly yes  #开启日志记录,相当于MySQL的binlog,注,redis启动时会自动加载aof文件,生成缓存。

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

    appendfsync everysec #每秒执行同步,还有两个参数always、no一般设置为everysec,相当于MySQL事物日志的写方式。若为no则表示不自动写入。若为always表示每次写命令时进行同步。若为everysec表示每秒执行同步。

    d)主从同步设置

    replicaof <masterip> <masterport> #设置该数据库为其他数据库的从数据库

    masterauth <master-password> #当主数据库连接需要密码验证时,在这里设定

    replica-serve-stale-data yes #如果此库作为从库,与主库断开连接或者正在执行复制,这时客户端来请求时,yes为继续服务,使用当前旧数据,no为拒绝服务,并返回错误。

    replica-read-only yes #作为从库时只读

    replica-priority 100 #当部署了集群,master不能工作时,会自动从从库选出一个作为master,越小优先级越高,为0排除在选中之外。

    repl-diskless-sync no #

    repl-diskless-sync-delay 5

    repl-disable-tcp-nodelay no

    最新回复(0)