Redis里到底怎么加数据,实操步骤和注意点全解析
- 问答
- 2026-01-10 03:13:43
- 3
你得先有个能用的Redis,假设你已经安装好了Redis,并且服务器正在运行,最直接的入门方式就是使用Redis的命令行界面,也就是redis-cli,来手动输入命令,这就像是你和Redis数据库直接对话的窗口。
第一步:启动命令行并连接
打开你的终端(Linux或Mac)或者命令提示符(Windows),输入命令 redis-cli,如果Redis就在你本机上,并且用的是默认端口6379,你会直接看到一个提示符,0.0.1:6379>,这说明你已经连接成功了,如果Redis在别的机器上或者改了端口,你需要用 redis-cli -h 主机IP -p 端口号 来连接。
第二步:认识最基本的数据类型和添加命令 Redis不是随便扔进去一个数据就行,它有几类不同的“盒子”来放数据,每种“盒子”的用法不一样,最常用、最简单的“盒子”叫String(字符串),别被名字骗了,它不光能存文本,还能存数字、甚至二进制数据。
添加数据到String类型,最常用的命令是 SET,它的语法超级简单:
SET 键的名称 键的值
举个例子,你想把一个叫 username 的键,它的值设为 张三,你就输入:
SET username 张三
敲下回车,Redis会回复一个 OK,意思是成功了,这就相当于你把一个写着“张三”的纸条,放进了贴有“username”标签的盒子里。
第三步:验证数据是否添加成功
放进去之后,你肯定想看看是不是真在里面了,这时候用 GET 命令:
GET username
Redis就会把“张三”给你显示出来,如果键不存在,它会返回 (nil)。
第四步:了解其他常见数据类型的添加方法 光会存字符串还不够,Redis还有其他强大的“盒子”:
-
Hash(哈希):这个就像一张表单,里面可以存多个字段和值,适合存放一个对象的多个属性,比如一个用户的信息。
- 添加命令:
HSET - 示例:存一个用户,键叫
user:1001,他有名字和年龄两个属性。HSET user:1001 name 李四 age 25 - 注意点:这里用
user:1001作为键名是一种常见的命名习惯,冒号没有特殊含义,只是方便区分。
- 添加命令:
-
List(列表):这是一个简单的字符串列表,按插入顺序排序,你可以从左边或者右边添加元素,像排队一样。

- 添加命令:从左边插入用
LPUSH,从右边插入用RPUSH。 - 示例:创建一个任务队列。
LPUSH task_queue task1 task2 task3这样列表里顺序就是
task3,task2,task1(因为是从左边推进去的)。
- 添加命令:从左边插入用
-
Set(集合):集合里的元素是唯一的,不允许重复,而且顺序是无序的,非常适合用来存标签、好友ID等。
- 添加命令:
SADD - 示例:给一篇文章添加标签。
SADD article:123 tags 编程 Redis 数据库即使你重复添加“编程”这个标签,集合里也只会有一个。
- 添加命令:
-
Sorted Set(有序集合):它和Set类似,保证成员唯一,但每个成员都会关联一个分数(score),Redis会根据这个分数从小到大进行排序,非常适合做排行榜。
- 添加命令:
ZADD - 示例:做一个游戏得分排行榜。
ZADD leaderboard 2500 玩家A 1800 玩家B 3000 玩家C当你查询时,它会按分数自动排好序。
- 添加命令:
第五步:重要的注意点(避坑指南) 光是会加数据可不行,这些点不注意很容易出问题:

-
键值对的生命周期(过期时间):很多数据你不是想永久保存的,比如手机验证码,5分钟后就该失效,Redis可以给任何一个键设置过期时间。
- 命令:
EXPIRE key 秒数,或者在设置值的同时设置过期时间:SET key value EX 秒数。 - 示例:
SET captcha:13800138000 123456 EX 300,这个验证码300秒(5分钟)后会自动被Redis删除。
- 命令:
-
键的命名习惯:键的名字要有意义,并且最好有统一的规范,比如用冒号分隔,形成一种层次结构,像
项目名:类型:ID(shop:user:1001,forum:post:555),这样以后管理起来非常清晰。 -
避免写坏大数据:尽量不要用一个超级大的String键存整个几MB的JSON文本,这会在网络传输和Redis处理时造成压力,可能导致阻塞,可以考虑将其拆分成多个Hash字段,或者如果不需要Redis计算,只是存储,可以考虑其他序列化方式。
-
键冲突(覆盖):
SET命令是“霸道”的,如果键已经存在,它会直接覆盖掉旧值,没有任何提示,如果你希望只有当键不存在时才设置,可以使用SETNX命令,反之,如果希望只有当键存在时才覆盖,可以使用SET key value XX。 -
数据持久化:要记住,默认情况下,Redis为了追求速度,数据是存在内存里的,虽然它支持将数据写入硬盘(这叫持久化),但如果你没正确配置,一旦服务器重启或断电,内存里的所有数据就全丢了,所以根据你的业务重要性,一定要配置好RDB或AOF持久化策略。
-
安全考虑:在生产环境中,千万别把Redis不加任何保护地暴露在公网上,一定要设置密码(通过
requirepass配置),或者通过防火墙限制可访问的IP地址,不然你的数据库分分钟被黑客清空。
在Redis里加数据,核心就是选对合适的数据类型,然后用对应的命令(SET, HSET, LPUSH, SADD, ZADD)去操作,心里要时刻装着过期时间、键命名、避免大Key、防止覆盖和数据持久化这些关键点,多在实际的命令行里敲一敲,感受一下,很快就熟练了。
(引用来源:本回答内容综合参考了Redis官方文档对SET、HSET、LPUSH、SADD、ZADD、EXPIRE等命令的说明,以及《Redis实战》一书中关于数据结构和最佳实践的章节,并结合了常见的运维经验。)
本文由水靖荷于2026-01-10发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/77818.html
