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

    Redis简介

           Redis数据库是目前NoSQL数据库中应用最广泛的数据库,其最大特征是实现数据的分布式缓存,随着集群设计的逐步普及,很多的开发过程中为了提高程序的处理性能,所以往往会使用缓存,但是在集群环境就必须考虑到其它服务也需要相应的数据,所以才需要建立分布式缓存。

           Redis是由意大利人Salvatore Sanfileppo(网名:antirez)开发的一款内存高速缓存数据库;

           Redis全称是:Remote Dictionary Server(远程数据服务),软件使用C语言编写;

           Redis是开源的,使用key-value存储可用于构建高性能,可扩展的Web应用程序的解决方案;

           支持丰富的数据类型,如:string,list,set,zset(sorted set),hash,GEO,Stream(据说性能可以与Kafka性能相当)

          Redis特点

          > 异常迅速:Redis响应速度快,美妙可以执行大约110000设置的操作,81000个/美妙的读取操作;

          >支持丰富的数据类型:Redis支持列表,集合,可排序集合,哈希等数据类型;

          >原子性操作:所有的Redis的操作都是源自,可以确保两个客户同时访问Redis服务器得到的是更新后的最新值;

          >MultiUtility工具: 可以在缓存,消息传递队列中使用(Redis原生支持发布/订阅),在程序应用中:Web应用程序会话, 网站羊肉面点击数等任和短站的数据。

          Redis与Memcached比较

           >Redis支持比Memcached更多的数据类型;

           >Redis支持主从结构(Master-Slave)可以实现数据备份;

           >Redis支持数据持久化,可以将数据保存到磁盘中,重启时数据依然可用。

           Memcached最大特点时所有的数据都保存在内存中,如果实例关闭。所有的数据都会消失。

           Redis雪崩:

                 使用Redis主要是解决SQL数据库查询性能慢的问题,所以在实际的项目中会是首先将需要的数据保存在Redis数据库中,这样就可以避免SQL数据库的频发查询,但是如果按照则正常的设计思路来讲,如果此时的Redis没有数据则会向SQL数据库查询,呢吗如果此时Redis在高并发访问下已经瘫痪了(无法使用),最终的结果是是所有的用户请求都会发送给SQL数据库,那么首先SQL数据库会甭哭,随后连带数据层和业务层也会雪崩,最终影响到WEB端,导致整个程序不能运行。

                  造成雪崩因素有:网络因素,单实例Redis问题,所以实际项目之中就可以考虑进行Redis集群开发,因为Redis官方没有提供Redis集群的设计方案,所以世界上Redis的集群设计方案非常多。

            数据会优先从Redis加载,如果无法加载,则会从传统数据库加载。

                    

  • 相关阅读:
    第2天 栈和寄存器
    第1天 工作计划和开端
    贯穿实例(1)
    闹心的变量
    开启懒人模式
    前言
    python基础学习7-网络编程、异常处理、面向对象
    python基础学习6-mongodb、sys、接口开发、操作excel
    python基础学习5-常用函数模块、操作数据库、发邮件、写日志、写excel
    python基础学习4-函数、内置函数、os模块、time模块
  • 原文地址:https://www.cnblogs.com/fcitx/p/11041942.html
Copyright © 2011-2022 走看看