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属性文件

  • 相关阅读:
    flex布局
    spring与mybatis三种整合方法
    jquery 、 JS 脚本参数的认识与使用
    SSH框架构建微信公众帐号服务器小技巧
    网页中插入QQ在线功能
    Java中Runnable和Thread的区别
    web.xml的初始化参数
    Struts2中实现Web项目的初始化工作
    使用Spring整合javaMail发用邮件
    java中Commons-fileupload实现上传
  • 原文地址:https://www.cnblogs.com/zhihuayun/p/7283827.html
Copyright © 2011-2022 走看看