Redis
Redis 介绍
Redis 是一种开源(BSD 许可)、内存中数据结构存储,用作数据库、缓存和消息代理。Redis 提供了诸如 string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)、带范围查询的排序集合、位图、超级日志、地理空间索引和流等数据结构。Redis 内置了复制、Lua 脚本、LRU 驱逐、事务和不同级别的磁盘持久化,并通过Redis Sentinel和Redis Cluster自动分区。
您可以 对这些类型运行原子操作,例如附加到字符串; 增加散列中的值;将元素推入列表;计算集合交集、 并集和差集;或获取排序集中排名最高的成员。
为了获得最佳性能,Redis 使用 内存数据集。根据您的用例,您可以通过定期将数据集转储到磁盘 或将每个命令附加到基于磁盘的日志来保留数据。如果您只需要一个功能丰富的网络内存缓存,您也可以禁用持久性。
Redis 还支持异步复制,具有非常快的非阻塞第一次同步,自动重新连接和网络拆分部分重新同步。
REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。
Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型
Redis 的优势是什么?
1. 响应快速
Redis 响应非常快,每秒可以执行大约 110 000 个写入操作,或者 81 000 个读操作,其速度远超数据库。如果存入一些常用的数据,就能有效提高系统的性能。
2. 支持6种数据类型
它们是字符串、哈希结构、列表、集合、可排序集合和基数。比如对于字符串可以存入一些 Java 基础数据类型,哈希可以存储对象,列表可以存储 List 对象等。这使得在应用中很容易根据自己的需要选择存储的数据类型,方便开发。
对于 Redis 而言,虽然只有 6 种数据类型,但是有两大好处:一方面可以满足存储各种数据结构体的需要;另外一方面数据类型少,使得规则就少,需要的判断和逻辑就少,这样读/写的速度就更快。
3. 操作都是原子的
所有 Redis 的操作都是原子的,从而确保当两个客户同时访问 Redis 服务器时,得到的是更新后的值(最新值)。在需要高并发的场合