Redis 的 4 大法宝,2018 必学中间件!

Redis是什么?

全称:REmote DIctionary Server

Redis是一种key-value形式的NoSQL内存数据库,由ANSI C编写,遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis最大的特性是它会将所有数据都放在内存中,所以读写速度性能非常好。当然,它也支持将内存中的数据以快照和日志的形式持久化到硬盘,这样即使在断电、机器故障等异常情况发生时数据也不会丢失,Redis能从硬盘中恢复快照数据到内存中。

官网:https://redis.io/ 中文:http://www.redis.cn/ Github:https://github.com/antirez/redis

Redis有什么优势?

1、性能高,速度快

Redis命令执行速度非常快,官方给出的读写性能可以达到10W/秒。为什么会如此之快呢?有以下几个因素:

  • 数据存储在内存中,直接与内存连接。
  • 由相对底层的C语言实现,离操作系统更近。
  • 实现源码很精湛,仅仅几万行代码,简单稳定。
  • 使用了单线程模型,无多线程竞争、锁等问题。

2、丰富的数据结构

Redis与其他的内存数据库不同的是,Redis拥有丰富的数据类型,如字符串、哈希、列表、集合、有序集合等。正是因为Redis丰富的数据类型,所有它能应用的场景非常多。

3、丰富的特性

除了支持丰富的数据结构外,还支持以下高级功能。

  • 支持键过期功能,可以用来实现定时缓存。
  • 支持发布/订阅功能,可以有来实现消息队列。
  • 支持事务功能,可以保证多条命令的事务性。
  • 支持供管道功能,能够批量处理命令。
  • 支持Lua脚本功能。
  • 支持集群分片和数据复制功能。
  • 支持内存数据持久化硬盘功能。

4、丰富的客户端

官网索引:http://www.redis.cn/clients.html

从官网给出的客户端列表可以看出,各种各种的语言都能接入到Redis,接入包括了所有的主流开发语言。

目前使用Redis的公司非常多,国内外都有很多重量级的公司在用。所以,现在学习Redis是大势所趋,学好Redis能为自己在日后的工作谋生中增加一个强有利的竞争手段。

觉得有用就转发分享一下

原文发布于微信公众号 - Java技术栈(javastack)

原文发表时间:2018-03-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏信安之路

绕过内容安全策略总结

今年的 0CTF 预选赛 6 道 web 题,其中三道都涉及 CSP 的知识点,简直可怕。。。这次趁着空闲时间就稍稍总结一下 CSP 绕过方面的知识,无论是对以...

24500
来自专栏IT技术精选文摘

redis架构演变与redis-cluster群集读写方案

redis-cluster是近年来redis架构不断改进中的相对较好的redis高可用方案。本文涉及到近年来redis多实例架构的演变过程,包括普通主从架构(M...

63530
来自专栏Java工程师日常干货

分布式利器Zookeeper(三)前言Zookeeper分布式锁的代码实现zkclientCurator

本篇博客是分布式利器Zookeeper系列的最后一篇,涉及的话题是:Zookeeper分布式锁的代码实现、zkclient的使用、Curator框架介绍等。

11920
来自专栏码神联盟

灵丹妙药 | 关于缓存,你必须要知道的

这两天小编一直在总结缓存的要点,也同时参考了一些文档,仅此奉上,以供参考。 缓存是必备技能 身为后端开发的开发人员,缓存是必备技能。不需要花费太多的精力就能显著...

36470
来自专栏思考的代码世界

Python网络数据采集之使用API|第03天

百度百科关于API的解释:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序...

52870
来自专栏ionic3+

【技巧】ionic3中input相关组件隐藏了的ionBlur和ionFocus

ion-searchbar的聚焦和失去焦点事件,看最新文档,是没有这两个关联事件的,如下截图所示:

8730
来自专栏纯洁的微笑

一次线上问题排查所引发的思考

之前或多或少分享过一些内存模型、对象创建之类的内容,其实大部分人看完都是懵懵懂懂,也不知道这些的实际意义。

12510
来自专栏企鹅号快讯

做网站-推荐3种CSS,JS合并的方式

在Web项目的开发中,js,css文件会随着项目的开发变得越来越多,越来越大,这就给给性能方面带来一些问题,如,页面引入的的js,css越多的话,那么对就增加了...

753110
来自专栏逢魔安全实验室

某移动应用安全加固与脱壳技术研究与实例分析

62180
来自专栏pangguoming

ubuntu 64位android项目报错的解决方案,打开64位 Ubuntu 的32位支持功能

ubuntu的64位下的android环境,说实话,还真得费点精力了,解决一个问题,又出来一个新问题。 小编昨天刚好不容易将android的环境搭建好了,这不,...

29550

扫码关注云+社区

领取腾讯云代金券