Redis数据库

时间:2019-06-17
本文章向大家介绍Redis数据库,主要包括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加载,如果无法加载,则会从传统数据库加载。

                

原文地址:https://www.cnblogs.com/fcitx/p/11041942.html