Redis
Redis文档:https://redis.io/docs/about/ (一切以官方为主)
Redis 官网:https://redis.io/
源码地址:https://github.com/redis/redis
Redis 在线测试:http://try.redis.io/
Redis 命令参考:http://doc.redisfans.com/
1 Redis简介
(以下内容主要翻译自Redis官网)
Redis 是一种开源(BSD 许可)内存级数据结构存储,常作为数据库、缓存、消息中间件和流引擎被使用。Redis 提供的数据结构包括 strings(字符串), hashes(哈希), lists(列表), sets(无序集合), sorted sets(有序集合) ,和range queries(范围查询), bitmaps, hyperloglogs, geospatial indexes, 和 streams。Redis 具有内置replication, Lua scripting, LRU eviction, transactions(事务)和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster实现自动分区提供高可用性。
您可以对这些类型运行原子操作 ,例如:添加字符串; 增加哈希中的值;将元素推入列表;计算集合的交集、 并集、差集;或获取排序集中排名最高的成员。
为了实现最佳性能,Redis 使用 内存数据集。根据使用的情况,Redis 可以通过定期将数据集转储到磁盘(RDB)或将每个命令附加到基于磁盘的日志(AOF)来持久保存您的数据。如果只需要功能丰富的网络内存缓存,还可以禁用持久性。
Redis 支持异步复制,具有快速非阻塞同步和自动重新连接以及网络分割上的部分重新同步。
Redis 还包括:
- 事务
- 发布/订阅
- Lua脚本
- 具有时限的keys
- LRU 驱逐键
- 自动故障转移
大多数的编程语言都可以使用 Redis 。
Redis 采用ANSI C编写,适用于大多数 POSIX 系统,如 Linux、BSD 和 Mac OS X,无需外部依赖。Linux和OS X是Redis开发和测试最多的两个操作系统,我们推荐使用Linux进行部署。Redis 可以在 SmartOS 等 Solaris 衍生系统中工作。没有对 Windows 版本的官方支持。(意思是Windows上直接使用Redis不是由官方提供的支持,而是由第三方提供,所以出现的稳定性和兼容性问题都是没有官方支持和解决的。所以Windows上可以使用Redis,但不是官方提供的)
Redis是一种单线程的内存级的NOSQL语言,这就意味着Redis运行效率极高。Redis支持事务但又不完全支持,官方指出它在一些操作上是满足原子性的,并没有说它支持完整的ACID。
redis默认的端口号为6379,默认有16个数据库,默认使用的是第0个数据库,可以使用select进行切换。
redis的瓶颈是根据机器的字长和带宽决定的
简单小结:
- 键值型,内存级,NOSQL,执行效率高
- 常作为数据库,消息中间件,缓存使用
- 支持事务(原子性)但不完全支持ACID
- C语言编写,
- 官方不提供Windows环境使用