Redis数据库怎么搭建啊,还有那个redis表咋整,简单点教教我吧
- 问答
- 2026-01-15 09:11:58
- 3
Redis数据库怎么搭建
你把Redis想象成一个特别厉害的小本本,它不是像MySQL那种需要建很多表的关系型数据库,而是一个简单的键值对仓库,键就是名字,值就是内容,比如你记下“张三的手机号:13800138000”,这里“张三的手机号”就是键,“13800138000”就是值,搭建Redis,其实就是把这个“小本本”的运行环境给准备起来。
用Docker搭建(最省事,强烈推荐)
如果你对服务器命令不熟,或者怕把系统环境搞乱,用Docker是最好不过的了,Docker就像一个神奇的集装箱,能把Redis和它需要的一切环境打包在一起,与你的电脑系统隔离开,装起来卸掉都特别方便。
-
先安装Docker: 你得先有个Docker才能用,去Docker的官网(https://www.docker.com/products/docker-desktop)根据你的电脑系统(Windows、Mac 或者 Linux)下载一个Docker Desktop安装上,安装过程就是一路点“下一步”就行,安装完可能需要重启一下电脑。
-
拉取Redis镜像: 安装好Docker之后,打开你的命令行工具(Windows叫PowerShell或CMD,Mac叫终端),输入下面这行命令,然后回车:
docker pull redis:latest
这行命令的意思是:“Docker啊,你去网上官方仓库里,把最新版本的Redis那个‘集装箱蓝图’给我下载到本地来。” 等它下载完成就行了。
-
运行Redis容器: 蓝图有了,现在要把它变成真正运行的“集装箱”,再输入下面这行命令:
docker run --name my-redis -p 6379:6379 -d redis
我们来解释一下这行命令:
docker run:命令Docker运行一个容器。--name my-redis:给这个容器起个名字,叫“my-redis”,方便你后面管理。-p 6379:6379:这是端口映射,左边6379是你电脑的端口,右边6379是Redis容器内部的端口,意思是说,以后你想访问Redis,就找你电脑的6379端口,Docker会自动把这个请求转发到容器里的Redis服务上。-d:让容器在“后台”运行,这样你关了命令行窗口,Redis服务也不会停。redis:告诉Docker,我要基于刚才下载的那个redis镜像来运行。
命令执行后,会显示一长串字符,不用管它,这时候你的Redis服务就已经在后台悄悄地跑起来了!
直接在本机安装(适合想了解细节的人)
如果你用的是Mac,并且安装了Homebrew(一个软件包管理器),那就超级简单,在终端里输入:
brew install redis
然后启动它:
redis-server
如果看到屏幕上出现一个红色的Redis图标和一些日志信息,就说明启动成功了。

如果你用的是Ubuntu这样的Linux系统,可以用apt命令安装:
sudo apt update sudo apt install redis-server
安装完后,Redis通常会自动启动,你可以用 sudo systemctl status redis 来检查它是不是在运行。
Windows官方不直接提供安装版,所以还是强烈建议用上面的Docker方法,省去很多麻烦。
测试一下是否成功:
无论你用哪种方法,搭建好后都要测试一下,打开一个新的命令行窗口,输入:
redis-cli ping
如果Redis服务正常运行,它会回复你一个 PONG,这就好比你对它喊“喂,在吗?”,它回你“在呢!”,看到这个,恭喜你,Redis数据库搭建完毕!
第二部分:那个redis表咋整
这里是个非常重要的概念:Redis里面没有“表”(Table)这个东西!
你可能会懵,数据库怎么能没有表呢?这是因为Redis和MySQL、Oracle这类关系型数据库是截然不同的两种东西,它们的设计初衷和擅长的地方不一样。
- 关系型数据库(如MySQL):就像一个大档案馆,数据规规矩矩地存放在不同的表格里,表格之间有复杂的关联关系,适合存储需要复杂查询、有严格结构的数据(比如订单、用户信息)。
- Redis:更像是一个放在内存里的超级高速缓存区或者一个万能工具箱,它的速度极快(因为数据存在内存里),数据结构非常灵活,它不是为了替代档案馆,而是为了解决一些特定场景下的性能瓶颈,比如网站首页的热门文章列表、用户的登录会话、秒杀活动的商品库存计数等。
那在Redis里,数据是怎么组织的呢?靠的是数据类型,你可以理解为,Redis给了你几种不同功能的“小本本”,你可以根据你要记的内容来选择用哪个本本,键(Key)就是每个条目的名字。

下面给你介绍几个最常用的“小本本”(数据类型):
-
String(字符串):最基础的本本,就是简单的键值对。
-
干嘛用:存一个单一的值,比如用户的登录状态、某个配置项、计数器。
-
例子:
# 写入:set [键] [值] set user:1000:name "张三" set website:visit:count 10500 # 读取:get [键] get user:1000:name # 会返回 "张三"
-
-
Hash(哈希):这个最像“表”的概念,它本身是一个键,但这个键对应的值里面,又包含了一组字段和值的映射。
-
干嘛用:存一个对象的多个属性,比如一个用户的信息(姓名、年龄、城市),比用多个String来存要高效得多。
-
例子:
# 写入:hset [大键] [字段名] [字段值] hset user:1000 name "张三" age 30 city "北京" # 读取一个字段:hget [大键] [字段名] hget user:1000 name # 返回 "张三" # 读取所有:hgetall [大键] hgetall user:1000 # 会返回 name, 张三, age, 30, city, 北京
你看,
user:1000这个键就像一个只有一行的表,里面有name、age、city三个字段。
-
-
List(列表):一个有序的、可以重复的字符串列表,类似排队。

-
干嘛用:做消息队列(比如订单排队处理)、记录最新发布的10条微博。
-
例子:
# 从左边插入:lpush [键] [值1] [值2] ... lpush news:latest "新闻A" "新闻B" "新闻C" # 从左边取出一段:lrange [键] [起始索引] [结束索引] lrange news:latest 0 1 # 返回 "新闻C", "新闻B" (因为后插入的在前面的)
-
-
Set(集合):一个无序的、不重复的字符串集合。
-
干嘛用:存唯一性的东西,比如文章的标签、共同好友。
-
例子:
# 添加元素:sadd [键] [成员1] [成员2] ... sadd article:1000:tags "科技" "编程" "Redis" # 判断是否存在:sismember [键] [成员] sismember article:1000:tags "科技" # 返回 1 (表示存在)
-
-
Sorted Set(有序集合):带分数的Set,可以根据分数排序。
-
干嘛用:排行榜!比如游戏积分榜、热搜榜。
-
例子:
# 添加(带分数):zadd [键] [分数] [成员] zadd game:score 1000 "玩家A" 800 "玩家B" 1500 "玩家C" # 按分数从高到低取前两名:zrevrange [键] [起始排名] [结束排名] zrevrange game:score 0 1 # 返回 "玩家C", "玩家A"
-
所以你问“redis表咋整”,答案就是:忘掉“表”这个概念,你先想清楚你要存的是什么数据,有什么特点:
- 如果是一个对象的多个属性,用 Hash。
- 如果就是一个简单的值或者计数器,用 String。
- 如果要排队或者存最新N条记录,用 List。
- 如果要存不能重复的标签、分类,用 Set。
- 如果要做排行榜,用 Sorted Set。
希望这个解释能让你对Redis有个直观的认识,先从Docker把它跑起来,然后用 redis-cli 命令行工具输入上面的例子试试手感,很快就明白了!
本文由颜泰平于2026-01-15发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:https://www.haoid.cn/wenda/81078.html
