zoukankan      html  css  js  c++  java
  • Redis持久化(八)

    Redis特性:
    (1)多数据库
    (2)Redis事物
    (3)一个Redis最多可提供16个数据库,下标【0-15】

    选择数据库:
    select 1 (选择1号数据库,默认连接的是0号数据库)
    移动数据库中的key:
    move myset 1 (把关键字为myset的移动到1当中)
    事物中只有一个客户运行,客户被串行话
    (1)开启事务:multi
    (2)提交事务:exec 网络故障或其他原因,没执行它之前的命令都不会被提交,但是,exec在网络断开或其他故障前执行,那么,提交就会执行。

    (3)回滚事务:discard

    事例:
    窗口A执行
    set num 1
    multi
    incr num
    incr num
    直到使用
    exec
    窗口B
    执行
    get num (num数值才会有变化)


    Redis持久化
    redis之所以高性能,是因为它把一切都存储在内存当中,为了使redis重启之后,仍然能保存之前存储的数据,就需要把数据从内存当中同步到硬盘上,这个过程称之为持久化。
    持久化方式:
    (1)(单独使用)RDB(默认):按照一定时间频率将内存中的数据或者快照保存到磁盘
    (2)(单独使用)AOF:通过日志方式,记录服务器操作方式,启动服务器时,就会读取日志,重新构建数据库,保证数据是完整的
    (3)无持久化:配置禁用持久化,达到缓存效果
    (4)RDB与AOF共用
    (5)持久化方法可以使用一个种或者两种结合的方式进行存储。

    RDB:
    优点:
    (1)可将数据库保存在一个文件上,便于备份,可以很好的恢复数据。
    (2)可方便移植
    (3)性能最大化,分出小的进程,再由小进程执行,可开启小的进程处理持久化操作
    缺点:
    (1)不能保证数据完整性,最大数据的完整性,数据易丢失。
    (2)当数据过大,服务器会停止,进程处理将会延迟几百到一千毫秒

    配置过程:
    (1)编辑redis.conf文件:vim redis.conf

    save 900 1
    每15分钟至少又一个key发生变化,会快照一次,写一次
    save 300 10

    save 60 10000

    dbfilename 保存的文件
    dir ./ 保存的文件路径

    (2)找到时间戳,可配置秒、分、时与之存储量
    (3)rdb文件默认保存在redis安装目录

    AOF
    优点:
    (1)同步写入频率高
    (2)不破坏写入日志数据
    (3)当数据过大,可启动修改重写机制,保证修改数据的更新
    (4)日志文件格式清晰,易于理解,可以通过这样进行重建数据
    缺点:
    (1)效率低低于RDB,修改就存在硬盘上的,同步方式降低了效率。
    (2)文件偏大与rdb文件

    配置过程:
    (1)编辑redis.conf:vim redis.conf
    (2)找到 appendonly no 修改为 yes (改为使用AOF方式)
    修改策略
    appendfsync always(为了数据安全,去除它的注解)
    设置好两个配置后,执行
    ./bin/redis-cli
    shutdown
    重启sever
    ./bin/redis-server ./redis.conf
    窗口A:
    插入数据:
    set name a
    set age 10
    flushall
    窗口B:
    执行:
    ./bin/redis-cli shutdown
    编辑:
    vim appendonly.aof
    删除最后一行的flushall 保存

    窗口A:
    重启sever
    ./bin/redis-server ./redis.conf

    进入客户端:
    ./bin/redis-cli
    查看:
    keys *
    数据还原了。

  • 相关阅读:
    NOIP2018游记
    NOIP2018T1DAY1——Road(并查集做法??)
    UVA11021 Tribles——概率dp
    捡石头——(期望递推)
    USACO2008mar-gold牛跑步(第k短路:A-star)
    Java中的异常处理
    Java学习手册
    各种应用层注入手段整理 【转载】
    正则表达式学习
    Run-Time Check Failure #0,The value of ESP was not properly saved 错误解决
  • 原文地址:https://www.cnblogs.com/liuyangfirst/p/7106311.html
Copyright © 2011-2022 走看看