Redis快速入门那些必须知道的基础操作和小技巧分享
- 问答
- 2026-01-24 01:53:14
- 4
Redis这东西,说白了就是一个速度超快的“大本子”,数据都放在内存里,所以读写起来飞快,它不像我们平时用的MySQL那种表格一样的数据库,它更像是一个存放各种数据结构的仓库,用起来非常灵活,想快速上手,你只要记住几个最常用的命令和一点小窍门就行了。
第一部分:必须知道的五种数据类型和基础操作
Redis之所以强大,是因为它支持不同的数据结构,你把它想象成家里的储物柜:有的格子专门放单个物品(字符串),有的放清单(列表),有的放名片夹(哈希)等等,最常用的有五种:
-
字符串(String):这是最简单、最常用的类型,就是一个键对应一个值,这个值可以是数字、文字,甚至是一张图片的二进制数据。
- 存数据:
SET mykey "hello world"(就像在本子上写下:mykey = hello world) - 取数据:
GET mykey(查一下mykey对应的是什么,会返回"hello world") - 数字增减:
INCR num(如果num是数字,就给它加1,这个在统计点击量、库存时特别有用)
- 存数据:
-
列表(List):就是一个按顺序排列的字符串列表,你可以从左边或者右边往里加东西,很像一个队列。
- 从左边插入:
LPUSH mylist "world"(往mylist这个列表的最前面塞入"world") - 从右边插入:
RPUSH mylist "hello"(往mylist这个列表的最后面塞入"hello") - 弹出元素:
LPOP mylist(把列表最左边的那个元素拿出来,并且从列表里删除它) - 查看一段范围:
LRANGE mylist 0 -1(查看mylist里从第0个到最后一个的所有元素,可以用来实现最新消息列表)
- 从左边插入:
-
集合(Set):一个不允许重复的无序集合,它的主要特性就是自动去重。
- 添加元素:
SADD myset "apple"(往myset里加一个"apple") - 再添加一次:
SADD myset "apple"(因为集合不能重复,所以这次操作无效) - 查看所有成员:
SMEMBERS myset(看看myset里到底有哪些不重复的东西) - 判断是否存在:
SISMEMBER myset "apple"(看看"apple"在不在集合里,返回1表示在,0表示不在)
- 添加元素:
-
有序集合(Sorted Set):这是Set的升级版,每个成员都有一个分数(score),Redis会根据这个分数从小到大排序,这个功能非常强大。
- 添加带分数的成员:
ZADD myzset 100 "Alice" 90 "Bob"(给myzset添加两个成员,Alice分数100,Bob分数90) - 按分数范围查询:
ZRANGE myzset 0 -1 WITHSCORES(从小到大列出所有成员和分数,可以用来做排行榜)
- 添加带分数的成员:
-
哈希(Hash):用来存储一个对象的信息特别合适,比如一个用户有姓名、年龄、城市等多个属性,就可以用一个哈希结构来存。
- 设置字段值:
HSET user:1000 name "张三" age 30(给键为user:1000的哈希对象设置name和age字段) - 获取字段值:
HGET user:1000 name(获取user:1000的name字段,返回"张三") - 获取所有字段和值:
HGETALL user:1000(一次性把user:1000这个对象的所有信息都拿出来)
- 设置字段值:
第二部分:几个让你用起来更顺手的小技巧
光会存取数据还不够,用对方法才能让Redis真正发挥威力。
-
一定要设置过期时间:Redis的数据是放在内存里的,内存很宝贵,不能无限期存放数据,对于缓存这类临时数据,一定要设置一个存活时间。
- 命令:
SET mykey "somevalue" EX 3600(这条命令在存数据的同时,设置3600秒后自动过期)或者用EXPIRE mykey 3600(给已经存在的key设置过期时间)。 - 这个小技巧能帮你自动清理不再需要的数据,防止内存被撑爆。
- 命令:
-
键的命名要有规律:Redis没有像数据库那样的表格概念,所有数据都通过键来区分,所以起个好名字非常重要。
- 建议用冒号来组织层次,
user:1000:profile表示ID为1000的用户资料,order:20231001:total表示2023年10月1日的订单总数,这样看起来清晰,也便于管理。
- 建议用冒号来组织层次,
-
管道(Pipeline)功能:如果你需要一口气给Redis发送很多条命令,比如要初始化一万个数据,如果一条一条发,网络来回的时间会很长,这时候可以用管道。
管道的意思就是把多条命令打包,一次性发送给Redis,Redis处理完后再一次性把结果返回给你,这能极大提升批量操作的效率,这个功能通常在编程时使用。
-
谨慎使用
KEYS *命令*:在你刚学习的时候,可能会用 `KEYS ` 来查看数据库里所有的键,但在实际项目中,尤其是在数据量很大的生产环境里,千万不要用**!因为这个命令会遍历整个数据库,会导致Redis暂时卡住,其他请求都处理不了,如果真想查看键的模式,可以用SCAN命令,它是渐进式的,不会阻塞服务。 -
理解持久化:虽然Redis数据在内存,但它也支持把数据写到硬盘上,防止重启后数据全部丢失,这个机制叫持久化,你不需要马上深入理解,但要知道有RDB(快照)和AOF(日志)两种方式,默认是开启RDB的,这样即使Redis重启,也能从硬盘恢复数据。
记住以上这些点,你就已经掌握了Redis最核心、最常用的部分了,剩下的就是多练习,根据你的实际场景去选择合适的数据类型和命令。 总结自Redis官方文档常见命令介绍、以及《Redis设计与实现》等入门资料中关于基础数据类型和最佳实践的核心观点)

本文由颜泰平于2026-01-24发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/84804.html