Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
上面的一句话来自 redis 中文网 ,我们从上面的文字可以归纳出Redis 的一些特性。
Redis 特性
(1)速度快
因为Redis是基于内存的存储系统,因此他的读写速度特别快,每秒可以达到 10W OPS。
(2)持久化
Redis 的数据保存在内存中的,如果计算机因为一些意外的因素进行了关机、重启,那么Redis的数据将会丢失。因此 持久化 将会特别重要。Redis 可以将数据的保存到磁盘上。Redis支持RDB和AOF两种持久化机制,持久化功能有效地避免数据丢失问题,当下次Redis启动时利用之前持久化文件即可实现数据恢复。
(3)多种数据结构
Memcached 只有一种数据结构,而Redis 有5种开发常见数据结构:字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)。这5种主要的数据结构对于我们实际的开发很常见,也很实用。
(4)支持多种客户端的语言
Redis 支持主流的 java,PHP,python,Ruby,NodeJs 等。
(5)功能丰富
Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
- 主从复制:高可用,分布式提供基础。
- LUA脚本: 可以自定义一些命令
- 事务: 支持一些简单的事务功能
- 高可用性:redis-Sentinel(V2.8)支持高可用
redis-Cluster(V3.0)支持分布式
之前准备学习的时候写博客,可是都没有坚持下去,希望这次可以有始有终。
Redis 坚持第一天 :为什么要使用 redis ?