JDK 的内存队列管理
Redis简介
Redis是一个开源(BSD许可)的,内存中的数据结构存储。
用作数据库、缓存和消息代理。Redis提供数据结构,如字符串,哈希,列表,集合,排序集合范围查询,位图,超对数,地理空间索引,和流。Redis有内置复制,Lua脚本,LRU收回,事务,和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供高可用性。
我们可以对这些类型运行原子操作(atomic operations),比如追加到字符串;递增哈希中的值;将一个元素推送到列表;计算集合的交、并、差;或者得到排序集合中排名最高的元素。
为了达到最高的性能,Redis使用内存中的数据集(in-memory dataset)。根据自己的用例,我们可以通过定期将数据集转储到磁盘或将每个命令附加到基于磁盘的日志来持久化数据。如果只是需要功能丰富的、网络的内存缓存,也可以禁用持久性。
Redis还支持异步复制,具有非常快的非阻塞第一次同步,自动重连接与部分重同步在网络分裂。
其他功能包括:
- Transactions
- Pub/Sub
- Lua scripting
- Keys with a limited time-to-live
- LRU eviction of keys
- Automatic failover
Redis使用
你可以使用各种程序语言下的Redis:(https://redis.io/clients).
Redis的注意事项
Redis是用ANSI C编写的,工作在大多数POSIX系统,如Linux, *BSD和OS X,没有外部依赖。Linux和OS X是Redis开发和测试最多的两个操作系统,我们推荐使用Linux进行部署。Redis可以在SmartOS等solaris衍生系统上运行,但支持是最好的努力。没有对Windows版本的官方支持。