Redis01——Redis入门这一篇就够了(可学习、复习、面试,收藏备用)(1)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注大数据)
img

正文


可以看到这里多了很多redis相关的命令。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/abbdbda1ea2f4756a35e243068a5c386.png)


### 2.2 启动redis


(1)前台启动(不推荐)



redis --server


![在这里插入图片描述](https://img-blog.csdnimg.cn/9dfb52a2c09841f99fc6501b57566d90.png)  
 这种方式会占用整个命令行终端,并且如果终端挂了,redis服务也会挂掉。  
 (2)后台启动



redis --server &


这种方式按回车,redis就会退出控制台,在后台运行。可以使用如下命令查看redis是否在启动中。



ps -ef|grep redis


![在这里插入图片描述](https://img-blog.csdnimg.cn/bc5d5bef25454f9086395be70eb38447.png)(3)启动redis服务时,指定配置文件


在redis的解压目录下,很容易找到配置文件`redis.conf`。配置文件可配置redis的端口号等,我们可以在启动redis指定配置文件,让redis使用配置文件的配置而不是默认配置。



redis --server redis.conf &


### 2.3 关闭redis


(1)通过`kill`命令杀进程(不推荐)



ps -ef|grep redis


下图中显示的第一行中,103201就是redis进程的pid了(1511是其父进程的pid)。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/39aa993a6c1f4f7bbf062cb6e3bb3cd0.png)



kill -9 103201


这种方式不推荐,因为容易丢失数据,可能redis中的数据还没有持久化,就被kill了。


(2)通过redis-cli命令关闭



redis-cli shutdown


![在这里插入图片描述](https://img-blog.csdnimg.cn/bf39c7dee0a143e4afa2342f8b77b974.png)这里其实就是使用了redis的客户端向服务端发送了关闭的请求。


### 2.4 redis的客户端使用


服务器一般部署在远程,程序员在实际中都是同客户端给服务端发送请求使用redis。



> 
> ☕ 注 意:  
>  值的注意的是,redis与mysql不同,客户端与服务端不通过账号密码来连接,只需要ip与port即可,它追求的是效率而不是安全,因为使用redis存储的数据一般也都是一些不需要考虑信息安全问题的数据。
> 
> 
> 


`redis-cli`是redis自带的客户端。启动服务端后,使用命令`redis-cli`即可使用,默认连接本机6379端口的redis服务器。


如果想要指定端口号,可以使用如下命令。



redis-cli -p 6380


如果想要连接指定主机的服务器,可以使用如下命令。



redis-cli -h 10.10.11.218 -p 6380


退出客户端。在客户端执行命令`exit`和`quit`即可。


## 3 redis的基本知识


### 3.1 测试redis服务器性能


如果您是项目经理或者技术经理,需要进行选型,可以在redis服务器启动的前提下使用如下命令。



redis-benchmark


其结果如下。它会自己发送模拟请求,返回其处理请求的时间及其它细节情况。可以看到,它在0.7s内处理了十万条请求,其性能还是特别不错的。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/ef5af7ce200f457fb16aaccb664896c9.png)


### 3.2 查看redis服务器是否正常连接


由于我们都是远程对redis服务器发送请求,在执行请求前,可以先使用`ping`命令确定是否与服务器保持正常的连接。 如果正常则会返回`pong`,否则返回空。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/0bea2e93d1524cfcb10763a5f31a99b1.png)


### 3.3 查看redis的统计信息


作为项目经理或者技术经理,可能需要查看redis的统计信息。执行命令`info`即可。下面截取了一部分结果,实际上它返回的信息很广,涉及集群,内存,cpu等等。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/5bc1e6bfbd1a41adb5c849aedec8c965.png)我们可以指定需要查看的信息。



127.0.0.1:6379> info CPU

CPU

used_cpu_sys:21.710256
used_cpu_user:25.014116
used_cpu_sys_children:0.000000
used_cpu_user_children:0.006322


### 3.4 redis的数据库实例


redis默认使用16个数据库实例,采用编号0-15命名,作用与myql的数据库实例相同。不过,mysql可以自己创建数据库实例,redis只能由redis服务来创建数据库实例(启动时就默认创建16个,也可以通过配置文件指定需要redis自动创建的数据库实例个数),而开发人员不能够创建或更改数据库实例。



> 
> 💡 Tips:  
>  redis数据库实例本身需要占用的存储空间是很小的,因此即使没有使用16个数据库实例,其实也不需要太担心存储空间的问题
> 
> 
> 


默认情况下,redis客户端连接的是编号为0的数据库实例。可以使用`select [index]`命令切换数据库实例。



127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> get k1
"v1"
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> get k1
(nil)
127.0.0.1:6379[1]> select 0

OK
127.0.0.1:6379> get k1
“v1”


### 3.5 查看当前数据库的数据条数


使用`dbsize`,可以查看当前数据库的key的数目,即数据条数,下面看看0号数据库的数据条数



127.0.0.1:6379> dbsize
(integer) 5


大家可能会奇怪,我们不是才插入1条数据吗?其实,redis的0号数据库实例和oracle等数据库会创建默认的数据表一样,会默认创建几条数据。


### 3.6 查看当前数据库的所有key


`keys *`可以查看当前数据库的所有key



127.0.0.1:6379> keys *

  1. “counter:__rand_int__”
  2. “k1”
  3. “key:__rand_int__”
  4. “myset:__rand_int__”
  5. “mylist”

### 3.7 清空当前数据库实例


`flushdb`可以清空当前数据库实例的数据



127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> keys *
(empty list or set)


### 3.8 清空所有数据库实例


`flushall`可以清空所有数据库实例的数据,这个命令需要慎用。



127.0.0.1:6379> flushall
OK


### 3.9 查看redis的配置信息


使用如下命令查看所有配置信息



config get *


![在这里插入图片描述](https://img-blog.csdnimg.cn/78b935a5a5ed4f81ade59440cb1a1ff3.png)  
 你当然也可以查看指定的信息。



127.0.0.1:6379> config get port

  1. “port”
  2. “6379”

## 4.redis的五种数据结构


程序是用来处理数据的,数据库则是用来存储数据的,redis为了方便数据的存储,设计了五种数据结构,可以很方便的将程序处理过的多种类型的数据直接对应到这五种数据结构,不同的特点的数据,可以存储到redis不同类型的数据结构中,存取十分方便。


redis的五种数据结构中,前4种与java的数据结构都可以一一对应,第五种没有对应的类型,分别是:


* string对应字符串、数值类型与布尔类型(都可以用一个值表示)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/62e20c49a15b45ecb2ae2547c9e7031c.png)
* list对应有序集合list、数组等,按照数据插入顺序存储数据  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/f09b505d44ea4649b49f449ede2a6c1b.png)
* set对应无序无重复集合  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/bc7cb0903bea41ba9422299d6ba27145.png)
* hash对应实体类对象  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/c78427da9f434a27ac565a46d3d135eb.png)
* zset(sorted set),它其实也是有序集合,不过它的顺序不是元素存放的先后顺序,而是排序,比如存放了中国所有的城市city,我们可以根据排序指标人数进行数据的排序。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/5547ca745cbd4c0b92850037e30f7c76.png)




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)**
![img](https://img-blog.csdnimg.cn/img_convert/f1c5722dfcb2c203dd32a805bb20688d.png)

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

里插入图片描述](https://img-blog.csdnimg.cn/5547ca745cbd4c0b92850037e30f7c76.png)




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)**
[外链图片转存中...(img-ShBQEK3f-1713321880789)]

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值