Redis 服务器是一个基于内存的键值存储数据库,具有高性能和丰富的数据结构支持。
Redis 服务器的基本使用方法
- 安装 Redis
Redis 可以通过官方网站下载源码进行编译安装,也可以通过包管理工具直接安装。
- 在 Ubuntu 上,可以使用以下命令进行安装:
sudo apt update sudo apt install redis-server
- 在 CentOS 上,可以使用以下命令进行安装:
sudo yum install epel-release sudo yum install redis
- 启动 Redis 服务器
安装完成后,可以使用以下命令启动 Redis 服务器:
redis-server redis.conf
默认情况下,Redis 服务器会监听 6379 端口,可以在启动命令中指定其他端口号。
- 连接 Redis
连接到 Redis 服务器需要使用 redis-cli
命令,并指定 Redis 服务器的主机和端口:
redis-cli -h <hostname> -p <port>
默认情况下,redis-cli
命令会连接到本地主机的 6379 端口,如果 Redis 服务器运行在不同的主机或端口上,则需要指定相应的主机和端口。
Redis 服务器的应用场景
- 缓存服务:将常用的数据存储在 Redis 中,以加速数据访问速度。
# 设置缓存 SET mykey "Hello" # 获取缓存 GET mykey
- 会话存储:存储用户会话信息,如用户登录状态、购物车信息等。
# 设置会话信息 SET user:1234:session "logged_in" # 获取会话信息 GET user:1234:session
- 计数器和排行榜:记录网站访问次数、文章点赞数等信息,并生成排行榜。
# 增加计数器 INCR article:1234:likes # 获取计数器值 GET article:1234:likes
Redis 服务器的注意事项
- 持久化设置:根据实际需求选择适合的持久化方式,如 RDB 快照或 AOF 日志。
# 启用 RDB 持久化 CONFIG SET save "900 1"
- 内存管理:监控 Redis 内存占用情况,防止内存溢出。
# 查看 Redis 内存占用情况 INFO memory
- 集群部署:在需要高可用性和水平扩展的场景下,考虑使用 Redis 集群。
# 配置 Redis 集群 redis-cli --cluster create 127.0.0.1:6379 ...
Redis 服务器命令
下面是对每个命令的介绍和使用方法:
- BGREWRITEAOF:异步执行一个 AOF 文件重写操作。
BGREWRITEAOF
- BGSAVE:在后台异步保存当前数据库的数据到磁盘。
BGSAVE
- CLIENT KILL [ip:port] [ID client-id]:关闭客户端连接。
CLIENT KILL 127.0.0.1:12345
- CLIENT LIST:获取连接到服务器的客户端连接列表。
CLIENT LIST
- CLIENT GETNAME:获取连接的名称。
CLIENT GETNAME
- CLIENT PAUSE timeout:在指定时间内终止运行来自客户端的命令。
CLIENT PAUSE 30
- CLIENT SETNAME connection-name:设置当前连接的名称。
CLIENT SETNAME my_connection
- CLUSTER SLOTS:获取集群节点的映射数组。
CLUSTER SLOTS
- COMMAND:获取 Redis 命令详情数组。
COMMAND
- COMMAND COUNT:获取 Redis 命令总数。
COMMAND COUNT
- COMMAND GETKEYS:获取给定命令的所有键。
COMMAND GETKEYS SET
- TIME:返回当前服务器时间。
TIME
- COMMAND INFO command-name [command-name …]:获取指定 Redis 命令描述的数组。
COMMAND INFO GET SET
- CONFIG GET parameter:获取指定配置参数的值。
CONFIG GET maxmemory
- CONFIG REWRITE:对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写。
CONFIG REWRITE
- CONFIG SET parameter value:修改 Redis 配置参数,无需重启。
CONFIG SET maxmemory 1GB
- CONFIG RESETSTAT:重置 INFO 命令中的某些统计数据。
CONFIG RESETSTAT
- DBSIZE:返回当前数据库的 key 的数量。
DBSIZE
- DEBUG OBJECT key:获取 key 的调试信息。
DEBUG OBJECT mykey
- DEBUG SEGFAULT:让 Redis 服务崩溃。
DEBUG SEGFAULT
- FLUSHALL:删除所有数据库的所有 key。
FLUSHALL
- FLUSHDB:删除当前数据库的所有 key。
FLUSHDB
- INFO [section]:获取 Redis 服务器的各种信息和统计数值。
INFO INFO memory
- LASTSAVE:返回最近一次 Redis 成功将数据保存到磁盘上的时间。
LASTSAVE
- MONITOR:实时打印出 Redis 服务器接收到的命令。
MONITOR
- ROLE:返回主从实例所属的角色。
ROLE
- SAVE:同步保存数据到硬盘。
SAVE
- SHUTDOWN [NOSAVE] [SAVE]:异步保存数据到硬盘,并关闭服务器。
SHUTDOWN
- SLAVEOF host port:将当前服务器转变为指定服务器的从属服务器。
SLAVEOF 127.0.0.1 6380
- SLOWLOG subcommand [argument]:管理 Redis 的慢日志。
SLOWLOG GET 10
- SYNC:用于复制功能的内部命令。
SYNC
这些示例涵盖了 Redis 服务器的常用命令,并展示了如何使用这些命令来执行不同的操作。
总结
Redis 服务器是一个强大的内存数据库,可用于缓存、会话存储、计数器等多种应用场景。通过学习 Redis 命令和注意事项,可以更好地理解和使用 Redis 服务器,提升应用的性能和可靠性。在使用 Redis 服务器时,要注意数据持久化、内存管理和集群配置等方面,以确保数据安全和系统稳定性。