Redis里头那些简单的增删改查操作,怎么快速上手用起来
- 问答
- 2025-12-24 04:34:02
- 4
想快速上手Redis的增删改查,你就把它想象成一个放在内存里的、特别快的大柜子,这个柜子没有抽屉,只有很多很多个“小篮子”,每个“篮子”都有一个独一无二的名字(就是Key),我们要做的,就是把数据(就是Value)用不同的方式放进这些篮子里,或者从里面取出来,下面我们就用最直白的话,说说怎么玩转这几个基本动作。
得连上Redis这个“大柜子”
在你开始往柜子里放东西之前,你得先走到柜子面前,打开它,在编程里,这就是建立连接,比如你用Python,代码大概长这样(来源:基于常见Python Redis客户端示例):
import redis r = redis.Redis(host='localhost', port=6379, db=0, password='你的密码(如果有的话)')
这几行代码的意思就是:我要连接一个Redis,它就在我自己的电脑上(localhost),门牌号是6379(默认端口),我用0号柜子(db 0),如果柜子有锁(密码),我就用这个密码开,连上之后,这个r就是你操作柜子的“手”。
最基础的“增”和“查”:键值对(Key-Value)
这是最简单的一种篮子,一个键(Key)对应一个值(Value),就像你把一个文件塞进一个写有名字的文件夹里。
-
增(存数据):用
set命令,要把用户名“张三”存到键 “user:1001” 下面。r.set('user:1001', '张三')这就相当于你把一张写着“张三”的纸条,放进了标签为“user:1001”的篮子里,如果这个篮子之前有东西,新的纸条会覆盖旧的。 -
查(取数据):用
get命令,现在你想看看“user:1001”这个篮子里放着啥。name = r.get('user:1001') print(name) # 这会输出 b'\xe5\xbc\xa0\xe4\xb8\x89',这是编码后的,通常解码后就是“张三”。如果这个键不存在,get命令会返回一个叫None的空值。
处理列表(List)数据:像排队一样
列表就像一列排队的队伍,数据一个接一个,你可以在队伍的头或者尾加人,也可以从两头取人。
-
增(往队伍里加人):
- 从左边加(队头):
lpush,比如记录用户的最新浏览记录。r.lpush('user:1001:views', '商品A', '商品B')// 队伍现在是 ['商品B', '商品A'] - 从右边加(队尾):
rpush,比如实现一个待办事项列表。r.rpush('my_todo', '写作业', '打扫卫生')// 队伍现在是 ['写作业', '打扫卫生']
- 从左边加(队头):
-
查(看队伍情况):
- 看整个队伍:
lrange,比如看用户所有的浏览记录。all_views = r.lrange('user:1001:views', 0, -1)// 0代表开始,-1代表到最后,就是全取出来。 - 只看队头或队尾的元素:
lindex。first_item = r.lindex('my_todo', 0)// 取第一个待办事项(索引为0)。
- 看整个队伍:
-
删(从队伍里请人出去):
- 从左边弹出(队头):
lpop,处理待办事项,做完一个删一个。todo = r.lpop('my_todo')// 把“写作业”从队伍里拿出来,并且删掉。 - 从右边弹出(队尾):
rpop。
- 从左边弹出(队头):
处理集合(Set)数据:像一个大箩筐
集合就像一个装东西的大箩筐,里面的东西是无序的,而且每个东西只能出现一次,自动去重,这特别适合存标签、好友列表这类数据。
-
增(往箩筐里扔东西):用
sadd,给文章打标签。r.sadd('article:123:tags', '科技', '编程', 'Redis')// 你把“科技”、“编程”、“Redis”这三个标签扔进了文章的标签箩筐里。 -
查(看箩筐里有啥):
- 看全部成员:
smembers。tags = r.smembers('article:123:tags')// 取出所有标签,但顺序不固定。 - 判断某个成员在不在:
sismember,判断文章是否属于“科技”类。is_tech = r.sismember('article:123:tags', '科技')// 如果在,返回1(True);不在,返回0(False)。
- 看全部成员:
-
删(从箩筐里捡出东西):用
srem,删除一个标签。r.srem('article:123:tags', '编程')// 把“编程”这个标签从箩筐里捡出去。
处理哈希(Hash)数据:像一张表格里的行
哈希非常适合存一个对象的多个属性,比如一个用户的信息,有姓名、年龄、邮箱等,它就像一个表格的一行,键(Key)是这行的ID,值(Value)里面又包含了多个字段(Field)和对应的值。
-
增(设置表格里的字段值):用
hset,设置用户1001的信息。r.hset('user:1001', 'name', '李四') r.hset('user:1001', 'age', 30)也可以一次设置多个:r.hset('user:1001', mapping={'name': '李四', 'age': 30}) -
查(读取表格里的值):
- 读取一个字段:
hget。name = r.hget('user:1001', 'name')// 取用户1001的名字。 - 读取所有字段和值:
hgetall。user_info = r.hgetall('user:1001')// 取回一个字典,包含这个用户的所有信息。
- 读取一个字段:
-
删(删除表格里的某个字段):用
hdel。r.hdel('user:1001', 'age')// 把用户1001的年龄字段删掉。
通用的“删”操作
不管数据是哪种类型,如果你想整个篮子都不要了,直接用 delete 命令。
r.delete('user:1001') // 这就把整个“user:1001”篮子,连同里面不管是什么类型的数据,全都扔掉了。
关于数据过期
Redis一个很棒的功能是你可以给篮子设置一个“保质期”,时间一到,数据自动消失,这太有用了,比如存手机验证码。
r.set('sms_code:13800138000', '8899', ex=60) // 这个验证码“8899”存进去,ex=60表示60秒后自动删除。
上手Redis增删改查的核心就是:
- 连接:用你的编程语言连上Redis。
- 选篮子(Key):想好你的数据用哪个键来存。
- 定类型:根据你的数据特点,决定用简单的键值对、列表、集合还是哈希。
- 用对命令:
set/get用于简单值,lpush/lrange用于列表,sadd/smembers用于集合,hset/hgetall用于哈希,delete用于删除整个键。
你先不用管那些高级的术语和复杂的原理,就照着这个路子,找个小例子亲手敲一遍代码,马上就能感受到Redis的简单和强大了。

本文由召安青于2025-12-24发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/67336.html
