咨询电话:400-810-1418服务与监督电话:400-810-1418转接2
  • 相关推荐
  • 玩转Python? 30种Python小技巧分享!
  • Unreal中的python开发应用分享
  • 如何用C语言写Python的扩展?
  • 如何用Python写一个Web应用?
  • Python数据科学十大利器,你都用过吗?
  • 开发新手入门必备!解读Go语言的优势用途及安装方法
  • Redis详解以及Redis的应用场景

    发布时间:2019-08-29 09:28:00

    做开发的小伙伴们想必一定听说过Redis ,但有些刚接触的小伙伴们可能了解的还不多,今天就给大家分享Redis详解以及Redis的应用场景!

    Redis简介

    Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 是一个强大的内存型存储,具有丰富的数据结构,使其可以应用于很多方面,包括作为数据库、缓存、消息队列等等。

    Redis 与其他 key - value 缓存产品有以下三个特点:

    Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

    Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

    Redis支持数据的备份,即master-slave模式的数据备份。

    Redis 优势:

    性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。

    丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。

    原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。

    丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

    Redis的5个常见应用场景

    如果你的印象中Redis只是一个 key-value 存储,那就错过了Redis很多强大的功能,下面就是实际应用场景中5个最普遍的案例。

    1. 全页面缓存

    如果你使用的是服务器端内容渲染,你又不想为每个请求重新渲染每个页面,就可以使用 Redis 把常被请求的内容缓存起来,能够大大的降低页面请求的延迟,已经有很多框架用Redis来缓存页面,这就是页面静态化的一种方式。

    1.jpg

    2. 排行榜

    Redis 基于内存,可以非常快速高效的处理增加和减少的操作,相比于使用 SQL 请求的处理方式,性能的提升是非常巨大的。

    Redis 的有序集合可以轻松实现“从一个大型列表中取得排名最高的N个元素”,毫秒级,而且非常简单。

    2.jpg

    3. Session 存储

    这可能是应用最广的点了,相比较于类似 memcache 的 session 存储,Redis 具有缓存数据持久化的能力,当缓存因出现问题而重启后,之前的缓存数据还在那儿,这个就比较实用,避免了因为session突然消失带来的用户体验问题。

    3.jpg

    4. 队列

    例如 email 的发送队列、等待被其他应用消费的数据队列,Redis 可以轻松而自然的创建出一个高效的队列。

    4.jpg

    5.发布/订阅

    pub/sub 是 Redis 内置的一个非常强大的特性,例如可以创建一个实时的聊天系统、社交网络中的通知触发器等等。

    5.jpg