Home Redis介绍
Post
Cancel

Redis介绍

基本介绍

Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统(in-memory data structure store)

它可以用作数据库、缓存和消息中间件

支持多种数据结构,如字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)等

提供了丰富的操作命令

Redis的设计目标是快速、高效地处理大量数据,并具备持久化能力

主要特性和功能

  1. 内存存储:Redis将数据存储在内存中,这使得它具有极高的读写性能。

  2. 高性能:使用了高效的数据结构和算法,使得在处理大量数据时能够保持高性能。

  3. 持久化选项:可以将内存中的数据定期写入磁盘,以便在服务器重启时恢复数据。两种持久化方式:快照(snapshotting)和日志(append-only file)。 快照方式可以定期将内存中的数据写入磁盘,而日志方式则可以将每个写操作追加到文件中,以便在重启时重新执行这些操作。

  4. 多种数据结构:Redis支持多种数据结构,包括字符串(String)、哈希表(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)等。 每种数据结构都有对应的操作命令,可以方便地对数据进行增删改查操作。

  5. 发布/订阅:Redis提供了发布/订阅功能,可以用作简单的消息中间件。客户端可以订阅一个或多个频道,当发布者发布新消息到被订阅的频道时,客户端会接收到相应的消息。

  6. 事务支持:Redis支持事务操作,可以将一系列命令组合成一个原子操作。在事务执行期间,其他客户端不能对相关数据进行修改,保证了数据的一致性。

  7. 分布式支持:Redis可以用作分布式缓存,可以通过多个Redis实例构建缓存集群,以提高可扩展性和容错性。通过分片、复制和故障转移等机制,Redis可以在大规模访问下保持高可用性。

  8. 客户端库支持:Redis支持多种编程语言的客户端库,如Java、Python、C#等,方便开发者进行与 Redis 的交互。

Redis被广泛应用于各种场景,如Web应用的缓存层、消息队列系统、实时排行榜、实时分析系统等。简单,高效,功能丰富。

安装

这里记录从软件源直接下载安装,不从源码编译安装。

如果是在最小化系统中,如docker环境中安装,需要安装一些依赖。

1
sudo apt install lsb-release curl gpg

debian发行版直接安装。

1
sudo apt install redis

官方推荐了自己的软件仓库,可以使用官方的软件包仓库。

1
2
3
4
5
6
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

sudo apt-get update
sudo apt-get install redis

用户接口

Redis提供了两个用户接口,分别是”Redis CLI”和”RedisInsight”。它们都是用于与Redis进行交互和管理的工具,一个是命令行交互工具,一个是图形界面交互工具。 这是需要知道的。可根据具体需求选择使用。

Redis CLI(命令行界面)

Redis CLI是Redis官方提供的命令行界面工具,它允许用户通过终端输入命令与Redis进行交互。Redis CLI提供了一系列命令,用于执行各种Redis操作, 如设置键值对、获取值、执行事务、订阅/发布消息等。Redis CLI是通过文本协议与Redis服务器进行通信,并将结果以文本形式返回给用户。 可以使用Redis CLI来执行单个命令或批量命令,并通过脚本编写复杂的操作序列。

Redis CLI的优点包括:

  • 简单易用:Redis CLI提供了直接的命令行界面,可以通过键入命令和参数来与Redis进行交互。
  • 强大的命令支持:Redis CLI支持Redis的所有命令,包括数据操作、事务、发布/订阅、服务器管理等。
  • 跨平台支持:Redis CLI可以在各种操作系统上运行,包括Linux、Windows和macOS。

使用Redis CLI,在终端中输入redis-cli命令即可,它将连接到本地Redis服务器(默认主机和端口)。可以在终端中输入命令与Redis进行交互。方便学习和开发。

RedisInsight(图形用户界面)

RedisInsight是Redis官方提供的图形用户界面(GUI)工具,用于可视化地管理和监控Redis数据库。RedisInsight提供了一个直观的用户界面, 通过图形化的方式展示Redis的各种信息和操作。它可以连接到本地或远程的Redis服务器,并提供了丰富的功能,如数据浏览、实时监控、性能分析、执行命令等。 RedisInsight是一个跨平台的应用程序,可在Windows、macOS和Linux上运行。可以从Redis官方网站下载安装对应操作系统的RedisInsight版本。

RedisInsight具有以下主要功能:

  • 连接管理:RedisInsight允许你通过简单的配置添加和管理多个Redis实例的连接。
  • 数据管理:它提供了一个直观的界面来查看和编辑Redis中的键值对、哈希表、列表、集合、有序集合等数据结构。
  • 命令执行:可以在RedisInsight中执行各种Redis命令,并查看执行结果。
  • 实时监控:RedisInsight提供了实时监控Redis实例的性能指标,如内存使用、命中率、连接数等。你可以轻松地查看和分析这些指标,并进行故障排查和性能优化。
  • 慢查询分析:它可以帮助用户识别和分析Redis中的慢查询,并提供可视化的方式来理解和优化这些查询。
  • 安全管理:RedisInsight提供了用户认证和访问控制的功能,可以保护Redis实例的安全性。

关于redis-server

redis的主体是redis-server,用户的redis-cliRedisInsight都是客户端程序连接到redis-server交互的。 redis-server的服务文件:/lib/systemd/system/redis-server.service

主要关心它的启动配置文件(ExecStart=/usr/bin/redis-server /etc/redis/redis.conf

其默认配置文件位于 /etc/redis/redis.conf,其中定义了redis-sever使用的默认端口号为6379,需要知晓。

另外,可以直接修改配置文件,redis-cli也提供了命令CONFIG在运行中修改,CONFIG GET *可以查看所有配置。

参考

Redis Offical

This post is licensed under CC BY 4.0 by the author.