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

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
性能测试 PTS,5000VUM额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: imageRedis是什么?全称:REmote DIctionary ServerRedis是一种key-value形式的NoSQL内存数据库,由ANSI C编写,遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
image

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能为自己在日后的工作谋生中增加一个强有利的竞争手段。
推荐:成为架构师的十阶段学习资料

如果对你有用,欢迎分享到朋友圈

image
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2月前
|
存储 监控 NoSQL
中间件Redis性能瓶颈
【7月更文挑战第13天】
55 11
|
2月前
|
存储 消息中间件 NoSQL
中间件键值存储模型Redis
【7月更文挑战第11天】
37 3
|
2月前
|
消息中间件 NoSQL Kafka
消息中间件(RocketMQ、RabbitMQ、ActiveMQ、Redis、kafka、ZeroMQ)以及之间的区别
消息中间件(RocketMQ、RabbitMQ、ActiveMQ、Redis、kafka、ZeroMQ)以及之间的区别
|
4月前
|
存储 缓存 NoSQL
Redis__中间件
Redis__中间件
|
11月前
|
消息中间件 NoSQL 关系型数据库
【Kubernetes部署Shardingsphere、Mycat、Mysql、Redis、中间件Rocketmq、Rabbitmq、Nacos】
【Kubernetes部署Shardingsphere、Mycat、Mysql、Redis、中间件Rocketmq、Rabbitmq、Nacos】
204 0
|
4月前
|
缓存 NoSQL 关系型数据库
【中间件】Redis与MySQL双写一致性如何保证?--缓存和数据库在双写场景下一致性是如何保证的
【中间件】Redis与MySQL双写一致性如何保证?--缓存和数据库在双写场景下一致性是如何保证的
244 0
【中间件】Redis与MySQL双写一致性如何保证?--缓存和数据库在双写场景下一致性是如何保证的
|
4月前
|
存储 NoSQL 中间件
中间件Redis的学习记录
中间件Redis的学习记录
|
4月前
|
消息中间件 缓存 NoSQL
[中间件] 秒杀系统秒杀率提高300%?教你如何利用redis和rabbitmq 优化应用!
[中间件] 秒杀系统秒杀率提高300%?教你如何利用redis和rabbitmq 优化应用!
236 0
阿里Java高级岗中间件二面:GC+IO+JVM+多线程+Redis+数据库+源码
虽然“钱多、事少、离家近”的工作可能离技术人比较远,但是找到一份合适的工作,其实并不像想象中那么难。但是,有些技术人确实是认真努力工作,但在面试时表现出的能力水平却不足以通过面试,或拿到高薪,其实不外乎以下 2 个原因:
|
存储 Kubernetes NoSQL
k8s之KubeSphere部署有状态数据库中间件服务 mysql、redis、mongo
k8s之KubeSphere部署有状态数据库中间件服务 mysql、redis、mongo