zoukankan      html  css  js  c++  java
  • redis数据库

    redis安装

    1.yum安装

    #前提得配置好阿里云yum源,epel源
    #查看是否有redis包
    yum list redis
    #安装redis
    yum install redis -y
    #安装好,启动redis
    systemctl start redis

    2.检测redis是否工作

    redis-cli    #redis 客户端工具
    #进入交互式环境后,执行ping,返回pong表示安装成功
    127.0.0.1:6379> ping
    PONG

    编译安装redis

    1.下载redis源码
    wget http://download.redis.io/releases/redis-4.0.10.tar.gz
    2.解压缩
    tar -zxf redis-4.0.10.tar.gz
    3.切换redis源码目录
    cd redis-4.0.10
    4.编译源文件
    make 
    5.编译好后,src/目录下有编译好的redis指令
    6.make install 安装到指定目录,默认在/usr/local/bin

    redis配置文件

    port 6379                         # 运行在6379的redis数据库实例
    daemonize yes                     # 后台运行redis  
    pidfile /data/6379/redis.pid      # 存放redis pid的文件  /data/6379 需要自己创建
    loglevel notice                   # 日志等级
    logfile "/data/6379/redis.log"    # 指定redis日志文件的生成目录
    dir /data/6379                    # 指定redis数据文件夹的目录
    protected-mode yes                # 安全模式
    requirepass   haohaio             # 设置redis的密码
    
    redis配置文件详解

    启动redis服务端

    启动redis非常简单,直接./redis-server就可以启动服务端了,还可以用下面的方法指定要加载的配置文件:
    ./redis-server ../redis.conf
    默认情况下,redis-server会以非daemon的方式来运行,且默认服务端口为6379。

    redis的使用。。。

    redis的订阅

    1、在同一台电脑上,启动三个窗口

    2、都进入redis-cli

    3、 窗口2 (订阅窗口)

    SUBSCRIBE  qishi   # 订阅qishi
     
    or
    
    PSUBSCRIBE  *zhibo   # 订阅 正则匹配的 (*zhibo)

    4、窗口3 (订阅窗口)

    SUBSCRIBE  qishi   # 订阅qishi
     
    or
    
    PSUBSCRIBE  *zhibo   # 订阅 正则匹配的 (*zhibo)

    5、窗口1 (发布窗口)

    PUBLISH  qishi   alex  # 发布alex给qishi
    
    PUBLISH   douyuzhibo   冯提莫  # 发布冯提莫给订阅了zhibo的客户端

    6、订阅类似于微信公众号,主要用于信息发布

    redis持久化 

    redis是内存型的数据库

      数据断电消失

      redis服务器挂掉消失

      redis服务停掉之后消失

    port 6379
    daemonize yes
    dir /data/6379                   # 定义持久化文件存储位置
    pidfile /data/6379/redis.pid     # redis进程pid文件
    loglevel notice                  # 日志级别
    logfile "/data/6379/redis.log"   # redis日志log文件
    protected-mode yes               # 保护模式
    dbfilename  dbmp.rdb             # rdb持久化文件
    #bind 10.0.0.10  127.0.0.1       # redis绑定地址
    #requirepass redhat              # redis登录密码
    save 900 1                       # rdb机制 每900秒 有1个修改记录
    save 300 10                      # 每300秒        10个修改记录
    save 60 10000                    # 每60秒内        10000修改记录

    配置完成后,进入redis-cli

    set name alex
    set age alex
    
    save   # 手动保存
    也可以等900秒,自动保存   900秒这个参数可以在配置文件里面修改

    redis持久化之AOF

    AOF(append-only log file)
    记录服务器执行的所有变更操作命令(例如set del等),并在服务器启动时,通过重新执行这些命令来还原数据集
    AOF 文件中的命令全部以redis协议的格式保存,新命令追加到文件末尾。
    优点:最大程度保证数据不丢失 (比RDB要好,因为RDB有可能丢失数据)
    缺点:日志记录非常大

    AOF持久化配置,两条参数
    
    appendonly yes
    appendfsync  always    总是修改类的操作
                 everysec   每秒做一次持久化
                 no     依赖于系统自带的缓存大小机制
    daemonize yes
    port 6379
    logfile /data/6379/redis.log
    dir /data/6379
    dbfilename  dbmp.rdb
    requirepass redhat
    save 900 1
    save 300 10
    save 60  10000
    
    
    appendonly yes             # 在redis配置文件中,添加这两条
    appendfsync everysec    # 

    启动redis服务,查看/data/6379是否产生了aof文件

    set 几条数据,然后退出。重启服务,看是否能够持久化

    redis不重启,切换RDB备份到AOF备份

    确保redis版本在2.2以上

    配置文件

    daemonize yes
    port 6379
    logfile /data/6379/redis.log
    dir /data/6379
    dbfilename  dbmp.rdb
    save 900 1                    #rdb机制 每900秒 有1个修改记录
    save 300 10                    #每300秒        10个修改记录
    save 60  10000                #每60秒内        10000修改记录

    1、启动redis

    2、set 数据

    3、save 手动保存

    4、检查dbmp.rdb文件是否存在

    5、开启AOF持久化

    127.0.0.1:6379> CONFIG set appendonly yes   #开启AOF功能
    OK
    127.0.0.1:6379> CONFIG SET save ""  #关闭RDB功能
    OK

    注意: 此命令开启的AOF功能只是临时启用,redis服务重启之后就会失效,因为配置文件并没有AOF的配置。

    不过没关系, 我们的目的是不重启切换至AOF

    6、新set一行数据,aof文件会记录

  • 相关阅读:
    再见了,正则表达式
    深入理解 Python 描述符
    并发-ScheduledThreadPoolExecutor
    ScheduledExecutorService用法
    常见限流算法总结
    常见集合类的复杂度
    并发-ConcurrentHashMap 1.7和1.8的区别
    并发-HashMap在jdk1.8也会出现死循环
    并发-Hashmap 1.7和1.8有哪些区别
    并发-HashMap与红黑树-todo
  • 原文地址:https://www.cnblogs.com/echo2019/p/10668001.html
Copyright © 2011-2022 走看看