Redis 的 4 大法宝,2019 必学中间件
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 工程师朋友们加入 JavaQQ 群:219571750,群内提供免费的 Java 架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm 性能调优、Spring 源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx 等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用 ” 没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!