zoukankan      html  css  js  c++  java
  • Redis介绍

    Redis是一个数据库,位于内存中,存储数据是key-value对,value可以是多种类型,list,set,string等。持久化:可以将数据异步存储到磁盘里;是对关系型数据库的补充。

    1.  Redis的持久化操作:两种方式RDB(redis database)和AOF(append only file)

             RDB:在某个时刻将redis的内存快照存到磁盘中。RDB在持久化的过程中,会使用另一个临时文件存储Redis存储的数据,等持久化结束后,才将临时文件代替上次持久化好的文件。Redis会新创建一个子进程(fork)完成持久化的工作,就是把redis存储的数据存储到磁盘中去。对于数据量很大,且性能要求比较高的采用RDB持久化效果很好。但是RDB缺点也很明显,比如RDB每隔10分 钟持久化一次,但是某次持久化出现问题,那这10分钟的数据都消失了,没有存储到磁盘。

             AOF:该方法持久化到磁盘上的是作用在redis上的写命令,每次重开机或者redis内存清空,需要加载已持久化的数据,就把之前redis的写命令执行一遍。AOF默认一秒钟执行一次持久化操作,就算持久化出现问题,也只是丢失这一秒钟的数据,且可以使用redis-check-AOF命令恢复数据。如果AOF文件很大,可以执行压缩命令。

    2.  Redis的主从同步

             和MySQL一样都支持主从同步,那Redis支持主从同步的目的是1.数据冗余备份;2.提升读性能;可以将一些读操作消耗时间比较长的操作放到从服务器中进行。主服务器可以减少数据持久化的操作,让从服务器去做。

             主从同步的原理:从服务器发出sync命令后,主服务器会执行bgsave指令创建一个新进程进行持久化操作,并把数据存储到RDB文件里,在持久化期间,将写指令都缓存到内存里面,接着将RDB文件发送给从服务器,然后再将缓存在内存里面的写指令以RDB协议的格式发送给从服务器。在一个时间间隔内,即使有很多个从服务器发出sync请求,主服务器也执行bgsave命令一次,然后把执行得到的RDB文件分发给多个从服务器。

    3.  redis在Java项目中的使用

      建一个redis.properties属性文件

  • 相关阅读:
    Golang的跨平台编译程序
    PySide教程:Clo“.NET研究”se 狼人:
    PyS“.NET研究”ide QtCore.Signal帮助手册 狼人:
    PySide教程:“.NET研究”第一个PySide应用 狼人:
    关“.NET研究”于Android的一些设计 狼人:
    资深设计师Tony Ventrice解析手机游戏开“.NET研究”发的四个层次 狼人:
    移动开发多平台代码共享“.NET研究” 狼人:
    关于做Andr“.NET研究”oid+J2ee系统集成开发的一点心得 狼人:
    “.NET研究”【Android开发教程】一、基础概念 狼人:
    “.NET研究”如何发布你的Android应用程序 狼人:
  • 原文地址:https://www.cnblogs.com/zhihuayun/p/7283827.html
Copyright © 2011-2022 走看看