Redis,全称Remote Dictionary Server,是一款高性能的内存键值数据库。自诞生以来,Redis在业界广泛应用于缓存、消息队列、排行榜等场景。在2020年发布的Redis 6.0版本中,引入了许多新特性,本文将带你了解这些新特性,并探索Redis 6.0的安装、配置、基本命令和操作。
Redis 6.0 新特性
Redis 6.0的新特性主要包括:
- 访问控制列表(ACL) :为了提供更细粒度的权限控制,Redis 6.0引入了访问控制列表(ACL)。通过ACL,可以为每个客户端连接分配不同的权限,限制其对命令和键的访问。
- Threaded I/O:Redis 6.0实现了多线程I/O处理,大幅提高了网络处理性能。当Redis实例部署在具有多个CPU核心的服务器上时,特别是在高负载场景下,Threaded I/O可以显著减少延迟和吞吐量的波动。
- SSL/TLS支持:Redis 6.0原生支持SSL/TLS加密,增强了数据传输的安全性。你可以为Redis实例配置SSL/TLS证书和密钥,从而实现加密通信。
- 新的RESP3协议:RESP3是Redis的新通信协议,相较于旧版RESP2,RESP3提供了更丰富的数据类型和更紧凑的编码方式。RESP3在Redis 6.0中作为实验性特性引入,客户端可以选择使用RESP2或RESP3。
安装与配置
安装Redis
根据你的操作系统选择相应的安装方式:
Ubuntu
rubyCopy code
$ sudo apt update
$ sudo apt install redis-server
CentOS
rubyCopy code
$ sudo yum install epel-release
$ sudo yum update
$ sudo yum install redis
macOS
rubyCopy code
$ brew install redis
配置Redis
Redis的配置文件位于/etc/redis/redis.conf(或者在macOS上的/usr/local/etc/redis.conf)。你可以编辑此文件以调整Redis实例的参数,例如:
- 修改
bind指令以设置Redis实例的监听地址。 - 修改
port指令以设置Redis实例的监听端口。 - 修改
requirepass指令以设置Redis实例的密码。
启动Redis
启动Redis服务:
rubyCopy code
$ sudo service redis start
或在macOS上:
rubyCopy code
$ brew services start redis
基本命令和操作
以下是一些常用的Redis命令和操作:
- 连接到Redis实例:
使用redis-cli命令行工具连接到Redis实例:
rubyCopy code
$ redis-cli
如果设置了密码,使用AUTH命令进行身份验证:
rubyCopy code
127.0.0.1:6379> AUTH your_password
- 键值操作:
- 设置键值:
rubyCopy code
127.0.0.1:6379> SET key value
- 取键值:
rubyCopy code
127.0.0.1:6379> GET key
- 删除键:
rubyCopy code
127.0.0.1:6379> DEL key
- 检查键是否存在:
rubyCopy code
127.0.0.1:6379> EXISTS key
- 设置键的过期时间:
rubyCopy code
127.0.0.1:6379> EXPIRE key seconds
- 其他数据结构操作:
- 列表操作(LPUSH, RPUSH, LPOP, RPOP等)
- 集合操作(SADD, SREM, SMEMBERS等)
- 有序集合操作(ZADD, ZREM, ZRANGE等)
- 哈希操作(HSET, HGET, HDEL等)
更多Redis命令,可参考官方文档:redis.io/commands
客户端工具推荐
- Redis Desktop Manager:跨平台的图形化Redis客户端,支持Windows、macOS和Linux。redisdesktop.com/
- Medis:macOS平台上的开源Redis管理工具,拥有美观的界面和丰富的功能。github.com/luin/medis
- Another Redis Desktop Manager:开源的跨平台Redis桌面管理工具,具有简洁的界面和实用的功能。github.com/qishibo/Ano…
- FastoRedis:跨平台的Redis管理工具,除了支持Redis,还支持其他NoSQL数据库,如Memcached、SSDB等。github.com/fastogt/fas…
- RedisInsight:Redis官方提供的免费图形化管理工具,支持多种操作系统,提供丰富的分析功能。redislabs.com/redis-enter…