建议阅读原文,始终查看最新文档版本,获得最佳阅读体验:《redis》
Redis(REmote DIctionary Server)是一个开源的、高性能的内存键值数据库,属于NoSQL数据库类别,由C语言编写。它支持网络访问、持久化存储及多种数据结构,广泛应用于缓存、消息队列等场景。以下是其核心特点的简要介绍:
数据主要存储在内存中,读写速度达10万+/秒(QPS),响应时间在微秒级。
单线程模型避免锁竞争,提升并发效率。
RDB:定时生成数据快照,适合备份。
AOF:记录操作日志,保障数据安全(支持每秒同步)。
两者可混合使用,平衡性能与可靠性。
主从复制:数据从主节点自动同步到从节点,支持读写分离和故障恢复。
Redis Cluster:分布式分片架构,通过哈希槽(16K个)实现水平扩展,支持在线扩容。
Redis支持丰富的数据类型,超越简单键值存储:
String:字符串、整数(如计数器)。
List:双向链表(消息队列、最新列表)。
Set:无序集合(标签系统、去重)。
Hash:键值对集合(存储对象属性)。
Sorted Set:有序集合(排行榜、优先级队列)。
每种类型提供原子操作命令(如INCR
、LPUSH
),并支持事务(MULTI/EXEC
)和Lua脚本。
热点数据缓存(如会话信息、全页缓存),减轻数据库压力。
计数器、排行榜(Sorted Set)、秒杀系统。
发布/订阅(Pub/Sub)、阻塞队列(List实现任务调度)。
地理位置查询(Geospatial索引),如“附近的人”。
利用**SETNX**
命令实现跨进程资源协调。
内存限制:数据规模受物理内存容量制约。
持久化代价:RDB快照可能丢失间隔数据,AOF日志影响写入性能。
复杂度:集群运维和在线扩容较复杂,需提前规划资源。
Redis以内存高速读写为核心,通过多样数据结构、持久化方案及分布式架构,成为现代系统中缓存、实时处理的基石。其适用场景广泛,但需根据业务需求权衡性能与数据安全性。典型案例包括新浪微博(支撑4GB数据、400+实例)。
https://redis.io/
官方文档:Install Redis Open Source | Docs
sudo apt update
sudo apt install redis-tools -y# this will install `redis-cli`
sudo snap install redis
docker run -d --name redis -p 6379:6379 redis:<version>
官方已经不在为Windows系统开发原生的redis了,官方建议用docker部署redis,方法如上。
如果是通过snap安装redis,则默认的redis配置文件路径为:/var/snap/redis/common/etc/redis/redis.conf
建议将下图红色箭头所示的行注释掉,默认情况下,redis只在本地回环上监听,注释掉此行后,则会在本地所有ip地址(ipv4和ipv6)上监听
官方文档:Redis security | Docs
默认情况下,redis没有密码,强烈建议设置密码
redis-cli
输出为PONG,说明redis正常运行
127.0.0.1:6379> PING
PONG
官方文档:Redis Insight | Docs
Redis Insight 是一个强大的工具,用于可视化和优化 Redis 中的数据,让实时应用程序的开发变得比以往更加轻松有趣。Redis Insight 既支持图形界面(GUI)操作,也支持命令行(CLI)交互,提供了一个功能齐全的桌面版图形客户端。
官方文档:Install on desktop | Docs
#Windows系统版本至少是Windows10
winget install --id=RedisInsight.RedisInsight
官方文档:Redis Insight | Docs
redis insight中也是可以输入redis命令的,在底部的CLI中,直接输入下行命令即可删除redis中的所有数据(包括所有数据库)
FLUSHALL
https://docs.dingtalk.com/i/nodes/Amq4vjg890AlRbA6Td9ZvlpDJ3kdP0wQ?iframeQuery=utm_source=portal&utm_medium=portal_recent