当前位置:首页 > 问答 > 正文

想知道Redis到底怎么开始用吗?带你一步步走进NoSQL的大门,别再迷茫了

想知道Redis到底怎么开始用吗?带你一步步走进NoSQL的大门,别再迷茫了 综合整理自Redis官方文档、菜鸟教程网络资料以及《Redis设计与实现》等书籍的核心概念)

你是不是经常听人提起Redis,感觉它很厉害,但又不知道从何下手?别担心,这篇文章就是为你准备的,我们不用那些让人头大的专业术语,就像朋友聊天一样,带你看看Redis到底是个啥,以及你最关心的——怎么开始用它。

Redis不是怪兽,它是个“超级快”的小本本

别把Redis想得太复杂,你可以把它理解成一个放在内存里(也就是电脑的运行内存)的“超级小本本”。(来源:基于Redis内存数据库的基本特性归纳)因为数据直接放在内存里读写,所以它的速度超级快,比我们平时用的那种数据存在硬盘上的数据库(比如MySQL)要快得多,每秒处理几十万次请求都是小意思。

那它记什么呢?它主要记一些简单的、需要快速存取的数据。

想知道Redis到底怎么开始用吗?带你一步步走进NoSQL的大门,别再迷茫了

  • 你网站的登录状态:你登录后,服务器会把“这个用户已登录”的信息写在Redis这个小本本上,下次你点其他页面,服务器飞快地查一下小本本就知道你是谁了,不用再去麻烦速度慢的主数据库。
  • 购物车里的商品:把你临时选中的商品ID和数量记在Redis里,又快又方便,等你结算时再统一处理。
  • 热门文章排行榜:根据点击量实时变化,用Redis来计数和排序,可以瞬间展示给用户。

它的全称是Remote Dictionary Server(远程字典服务)。(来源:Redis官方介绍)这个名字听起来有点技术性,但你可以简单理解为,它就像一个可以通过网络访问的、结构灵活的“大字典”。

Redis和传统数据库有啥不一样?为啥要学它?

你可能会问,我已经会用MySQL了,为啥还要学Redis?这就涉及到SQL和NoSQL的区别了。

  • SQL数据库(如MySQL):像是一个结构严谨的Excel表格,你需要先设计好表头(字段),比如用户表必须有姓名、年龄、电话,每条数据都得按这个格式来,它擅长处理复杂的查询和保证数据的一致性,适合存储最重要的、需要永久保存的核心数据(比如你的订单、账户余额)。
  • NoSQL数据库(如Redis):像是一个自由灵活的记事本,它没有固定的格式,你可以用各种方式记录信息,Redis属于NoSQL的一种,它的最大特点就是我们前面说的“快”,适合存储临时性的、变化频繁的、不需要复杂查询的“热数据”。

(此对比思路参考了多种技术社区关于SQL与NoSQL的讨论)

想知道Redis到底怎么开始用吗?带你一步步走进NoSQL的大门,别再迷茫了

它们不是谁取代谁的关系,而是好朋友,经常配合着用,让MySQL干它擅长的“持久化存储”的精细活,让Redis干它擅长的“高速缓存”的力气活,学了Redis,你就掌握了优化网站和应用性能的一把利器。

手把手教你开始用Redis(Windows环境为例)

理论说多了容易困,我们直接动手,在Windows上体验Redis最简单的方法是使用微软开源的支持Windows版本的Redis。

  1. 下载和安装

    想知道Redis到底怎么开始用吗?带你一步步走进NoSQL的大门,别再迷茫了

    • 去GitHub上搜索并下载最新的 Redis-x64-*.msi 安装包。(来源:Redis微软移植版项目页面)
    • 下载后,直接双击安装,基本一路“Next”就行,安装过程中,记得勾选“Add Redis installation folder to the PATH”这个选项,这样以后在命令行里使用Redis会更方便。
  2. 启动Redis服务器

    • 安装完成后,在开始菜单里找到“Redis”文件夹,里面有一个“Redis Server”,点击它,会弹出一个黑色命令行窗口,里面显示着Redis的图标和端口号(默认是6379)。这个窗口不要关闭,关了就相当于把“小本本”合上了,服务就停止了。
  3. 玩转Redis客户端(开始写你的“小本本”)

    • 再在开始菜单的“Redis”文件夹里,找到并打开“Redis CLI”(命令行客户端),你就打开了可以和“小本本”对话的窗口了。
    • 我们来试几个最简单的命令,敲完按回车:
      • 存数据SET mykey "Hello, Redis!" 这行命令的意思是,在“小本本”上找一个叫mykey的地方,写上“Hello, Redis!”这句话,它会回复一个OK,表示写成功了。
      • 取数据GET mykey 这行命令是问问“小本本”,mykey这个地方写的是啥呀?它会立刻给你回复:"Hello, Redis!"
      • 存数字并增加SET counter 10 先写个数字10,然后输入 INCR counter,这个命令会让counter这个值增加1,你再输入 GET counter,会发现它变成了11,这个功能用来做文章阅读量、点赞数统计特别方便。

看,就这么简单!你已经完成了Redis最核心的SET和GET操作,Redis还有很多其他数据类型的命令,比如存列表(List)、集合(Set)等,但原理都是类似的,先通过命令告诉它你要干什么(SET/GET/INCR),然后指定一个键(Key,比如mykey),再给它值(Value,比如"Hello, Redis!")。

下一步学什么?

当你成功运行了上面的例子,恭喜你,已经推开了NoSQL世界的一扇小窗!你可以:

  • 学习Redis的五种基本数据类型:字符串(String)、列表(List)、集合(Set)、有序集合(Sorted Set)、哈希(Hash),每种类型都有对应的命令,能干不同的事。
  • 了解“持久化”:既然Redis数据在内存里,电脑重启不就没了吗?Redis提供了两种机制(RDB和AOF)可以把内存里的数据定期备份到硬盘上,防止数据丢失。
  • 尝试在编程语言中使用Redis:比如学习如何在Python、Java代码里连接和操作Redis,这才是它发挥真正威力的地方。

学习技术最好的方式就是边做边学,别怕,就从打开那个黑色的小窗口开始吧!当你亲手敲下第一个SET命令并看到返回的OK时,所有的迷茫都会开始消散,加油!