1 redis介绍

Redis(Remote Dictionary Server)是一个开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)以及范围查询、位图、流和地理空间索引等。Redis的主要特点是其高性能和灵活性。

redis ram架构 镜像 redis rpm_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