1 redis介绍
Redis(Remote Dictionary Server)是一个开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)以及范围查询、位图、流和地理空间索引等。Redis的主要特点是其高性能和灵活性。
Redis作为一个高性能的内存数据存储系统,在现代的Web应用、大数据和云计算领域中扮演着重要角色。它的快速响应能力、灵活的数据模型和强大的可扩展性使其成为构建高效、可靠应用的理想选择。随着技术的不断发展,Redis将继续在存储和处理大规模数据方面发挥其重要作用。
1.1 基本特征
-
内存存储与持久化: Redis的数据存储在内存中,提供极快的读写速度。同时,它也提供了持久化功能,可以将内存中的数据保存到磁盘。
-
支持丰富的数据类型: Redis不仅支持基本的数据类型,还支持更复杂的类型,如列表、集合和有序集合。
-
原子操作: Redis的所有操作都是原子性的,保证执行过程中的数据完整性。
-
发布/订阅模式: Redis支持发布/订阅消息传递模式,可以用于构建消息系统。
-
灵活的事务处理: Redis提供了事务功能,允许通过一系列命令实现多步操作的原子性执行。
1.2 性能优化
-
快速执行: 由于数据存储在内存中,Redis提供了非常快的数据读写能力。
-
高效的内存使用: Redis使用高效的数据结构和算法来优化内存使用。
-
持久化选项: Redis提供两种持久化选项:RDB(快照)和AOF(追加文件),用户可以根据需要选择或结合使用这两种持久化方式。
1.3 高可用性与数据安全
-
主从复制: Redis支持主从复制模式,从服务器可以自动复制主服务器上的数据。
-
哨兵(Sentinel)系统: Redis的哨兵系统提供了高可用性支持,可以在主服务器出现故障时自动进行故障转移。
-
集群模式: Redis集群提供了数据的分片存储,以及复制和故障转移功能,以实现更高的可用性和可扩展性。
1.4 应用场景
-
作为数据库: Redis可以存储关键的业务数据,支持丰富的数据查询和处理能力。
-
缓存系统: 由于其高速的读写能力,Redis非常适合用作缓存系统,提高数据访问速度,减轻后端数据库的压力。
-
消息队列系统: Redis的发布/订阅模式可以被用来构建消息队列系统。
-
会话存储(Session Store): Redis常被用于存储Web应用的会话信息。
-
实时分析: Redis的快速响应特性使其适合实时数据处理场景,如计数器、实时系统监控等。
1.5 开发与集成
-
客户端支持: Redis提供了多种编程语言的客户端库,包括Java、Python、PHP、Ruby等。
-
简单的协议: Redis使用一种简单的文本协议,使得开发和集成变得容易。
-
丰富的文档和社区支持: Redis有着广泛的文档和一个活跃的社区,为开发者提供支持和资源。
1.6 安全性与管理
-
访问控制: Redis支持基于密码的访问控制,以保护数据不被未授权访问。
-
安全通信: Redis支持SSL/TLS,确保数据在传输过程中的安全性。
-
管理与监控: Redis提供了多种管理和监控工具,如Redis命令行界面(CLI)和Redis监控。
2 redis安装
2.1 redis的rpm包下载
curl -O http://www6.atomicorp.com/channels/atomic/centos/6/x86_64/RPMS/redis-3.0.7-4.el6.art.x86_64.rpm
2.2 安装jemalloc
sudo yum install jemalloc
2.3 安装redis
sudo rpm -ivh redis-3.0.7-4.el6.art.x86_64.rpm
2.4 配置redis可以远程访问
sudo vi /etc/redis.conf
将bind行修改为:bind 0.0.0.0
去除保护模式:protected-mode no //否则只能本机访问
2.5 启动redis服务
redis-server