Redis 的基本使用 | 学习笔记

简介: 快速学习 Redis 的基本使用

开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程Redis 的基本使用】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/626/detail/9784


Redis 的基本使用

 

内容介绍

一、Redis 的启动

二、Redis 的基本指令

三、快速入门

 

一、Redis 的启动

这个非常简单。在这里直接双击一下启动 Redis 的服务器端程序(redis-server.exe)。双击过后这个服务就不要关闭了。

image.png

这里写的很清楚。The server is now ready to accept connections on port 6379. 现在看这个已经非常熟悉了。因为 accept 和端口以及链接是什么意思不会是一点概念都没有了。这说明前面的基础知识还是很重要的,尤其是对于第一次学习编程的同学。就相当于可以理解成上次写的 server,其实本质是相同的。然后有了 go,这就能启动起来。

image.png

这个示意图也已经讲过就不再多说。启动起来以后把这个客户端也一起起来。

image.png

目前用 redis-cli 去操作,就先不使用 go 语言。因为先用 redis-cli 把基本的指令学完了,再去用 go 语言去连,其实就是顺理成章的事情。那现在再去启动一下 cli 端。这个 cli 端已经把它要操作的端口配置好,所以双击就有点类似于启动的 cli go。因为是本地,所以一次就连上了。它的意思就是说已经连接到了本地的 IP 6379这个端口。如果把服务器或者是客户端关掉,这个链接是双向的,两者肯定就都不行。启动起来之后再看基本指令。

 

二、Redis 的操作指令

网上有一个站点为 redisdoc.com。这里面就把 redis 的指令或者为命令全部都写出来。如果把它放在 java 中讲至少要两到三天。这块因为是 go 语言所以主要是解决怎样往里面存和取的问题。这个就讲一些最核心的就可以了。打开 redisdoc.com 这个站点看一下它的指令有哪些。

image.png

image.png

image.png

它的指令参考有很多,可以用 CTRL+F 来快速查找。最左边是 key 的操作,其实就是指的 key 有哪些指令。旁边是字符串(string),字符串对应的就是 key-val。如果想通过 redis-cli .exe 这个指令给 redis 核心组件,让它帮助去存放一个 key value,那它的指令就在这里查找。比如 APPEND,GET,INCR,MGET 一次获取多个 key,MSET 一次设置多个 key value 等都在这里去找。那么如果想通过指令对哈希,按照哈希的形式存放数据就在哈希表里找指令。HDEL,HGET,HLEN 还有 HSET。这个就是对哈希这种数据结构的存储,相当于以哈西的形式来存放。那么如果想学习 List(列表)的形式就在相应的一栏寻找指令。有序集合一般是以 Z 打头的。数据只有 String(字符串)、哈希、List、集合和有序集合这五大数据类型。另外 Redis 还有其他服务。例如发布/订阅、事务、脚本、连接,包括服务这边的启动连接,比如切数据库都在这里。还有一些相关的文档。学完之后往里面存任何一种数据都可以,怎么取也能解决了。至于其他的在项目的使用过程中再加深一下就可以了。这个基本介绍要有一个基本认识。这是 Redis 的安装和基本使用做一个概述。

 

三、快速入门

Redis 安装好后,默认有16个数据库,这16个数据库是用标号来标识的,编号是0到15一共16个。

它的操作数据都是指的对内存数据的操作。这个是非常有用的,在做开发的时候不可避免地会用到。在做开发的时候不用数据库这是不可能的,只是多少的问题。依次来演示一下。

1、添加 key-val[set]

打开客户端输入 set 指令,这个 set 后面可以带 key-value,后面中括号的部分代表其他信息,比如超时了多少时间。这些如果不需要可以不用管。127.0.0.1:6379>set key1 hello 先写一个 key1,值是 hello,这个中括号不写可以不管它,一回车就完成了。这个指令就是往里面添加 key-value。Key 的名字就叫 key1,值就叫 hello。这就是它的一个 set。127.0.0.1:6379>get key1 hello 获取是 get key1,这样就把 hello 得到了。刚才这个指令一执行过后就应该在脑海里想像到它是如何执行的。比如刚才写了一个 set key1 hello,一回车它就通过网络把这个数据发送给 redis 的核心组件。这个核心组件拿到后发现是 set 指令,于是它就会在内存里面存放 key1 hello这样一个数据,当然这个时候数据库默认是0号数据库,因为一共是16个数据库。此时数据已经被存放到内存里面去了,就是这样一个逻辑。如果要取的话就是 get key1。还是把指令发送给 redis 的核心组件,它就会找到 key1并把 hello 返回来。就这样一个简单的过程。

2、查看当前 Redis 的所有 key[keys

3获取 key 对应的值[get key]

4、切换 redis 数据库[select index]

如果不想在0号数据库,用第二个数据库也是可以的。

127.0.0.1;6379>select 1   127.0.0.16379[1]>get key1  这个时候就切换到1号数据库了。对此可以这样想象在它的里面有16份内存,有一份是0号,还有一份是1号,还有一份是15号。这个时候里面是空的,就这个数据库里面的内容是空的。如果没有的话,要是获取肯定是不行的,get key1 是个空的。

127.0.0.1:6379[1]>select 0  127.0.0.1:6379>get key1 hello

再切回到0号,再 get key1 就拿到了。这个很好理解,来回可以切换。

5、如何查看当前数据库的 key-val 数量[dbsize]

127.0.0.1:6379>dbsize 1

127.0.0.1:6379>set key2 say

127.0.0.1:6379>dbsize 2

默认是当前数据库,回车。现在只有一对 key value,假设再加一个 set key2,这时候再看 dbsize。这时候会返回一个2,有两对。

6、清空当前数据库的 key-val 和清空所有数据库的 key-val[flushdb flushall]

清空指令是 flushdb。如果写的是 flushdb,代表的是清空当前数据库。如果写的是 flushall,代表的是把16个数据库的数据全部清空。区别就在这里。

最关键的指令 get、set和 select、切换数据库和统计当前数据库的key-value 必须学会。

相关文章
|
5月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
703 6
|
存储 NoSQL Redis
Redis系列学习文章分享---第十六篇(Redis原理1篇--Redis数据结构-动态字符串,insert,Dict,ZipList,QuickList,SkipList,RedisObject)
Redis系列学习文章分享---第十六篇(Redis原理1篇--Redis数据结构-动态字符串,insert,Dict,ZipList,QuickList,SkipList,RedisObject)
226 1
|
NoSQL Java Redis
Redis系列学习文章分享---第十八篇(Redis原理篇--网络模型,通讯协议,内存回收)
Redis系列学习文章分享---第十八篇(Redis原理篇--网络模型,通讯协议,内存回收)
744 0
|
存储 消息中间件 缓存
Redis系列学习文章分享---第十七篇(Redis原理篇--数据结构,网络模型)
Redis系列学习文章分享---第十七篇(Redis原理篇--数据结构,网络模型)
243 0
|
存储 NoSQL 算法
Redis系列学习文章分享---第十篇(Redis快速入门之附近商铺+用户签到+UV统计)
Redis系列学习文章分享---第十篇(Redis快速入门之附近商铺+用户签到+UV统计)
195 0
|
存储 NoSQL Redis
Redis系列学习文章分享---第九篇(Redis快速入门之好友关注--关注和取关 -共同关注 -Feed流实现方案分析 -推送到粉丝收件箱 -滚动分页查询)
Redis系列学习文章分享---第九篇(Redis快速入门之好友关注--关注和取关 -共同关注 -Feed流实现方案分析 -推送到粉丝收件箱 -滚动分页查询)
236 0
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
1935 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
存储 JSON NoSQL
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
这篇文章是关于Redis基本数据结构的学习笔记,包括了String、Hash、Set、List和SortedSet的介绍和常用命令。文章解释了每种数据结构的特点和使用场景,并通过命令示例演示了如何在Redis中操作这些数据结构。此外,还提供了一些练习示例,帮助读者更好地理解和应用这些数据结构。
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
1617 3
|
存储 Prometheus NoSQL
大数据-44 Redis 慢查询日志 监视器 慢查询测试学习
大数据-44 Redis 慢查询日志 监视器 慢查询测试学习
253 3