00:00
好,前面呢,我们体会了一下这些缓存注解,但是呢,我们说默认在我们没配置的时候呢,缓存使用的是我们这个concurrent map这个缓存组件,默认使用的是,哎,我们之前讲原理的时候呢,啊给大家说过,默认它使用的呢,是咱们这个concurrent map manager。然后呢,它创建的这个concurrent map catch组件,拿它来作为缓存的,而它作为缓存呢,是将数据,将数据保存在哪里呢?哎,我们之前说过,它是保存在一个concurrent has map里边,来给大家看一下concuent map catch这个store就是一个concuent map,它是将数据保存在这的。哎,保存在这儿。保存在这儿,而我们说实际在开发中呢,我们经常使用的是一些,哎,使用我们这些缓存中间件,缓存啊,使用缓存中间件来,比如我们经常使用的red ma catch。
01:15
Catch,那么包括呢,包括我们使用的咱们这个eh。等等等等,我们都是用一些啊缓存中间件,当然我们之前讲原理也发现了,这些缓存呢,其实spring boot呢,都有支持很多种的缓存配置,而默认呢,它开启的是这个simple con这是默认的,那其他的这些缓存在什么时候开启呢?比如我们来看延迟catch这个配置。其他这些缓存呢,都是在你导了相应的这个配置以后,比如这呢有一个catch,而这个catch呢,它是我们这个eh catch的这些组件,你导了e catch相应的东西以后,它才会给你配上,包括呢,比如我们这个,那你导了。
02:06
导入了相关的场景,哎,有了相应的这些类以后,那我们这个red的这些catch manager就能配置上来起作用,好,那我们这节课呢,就来整合red来作为缓存,来整合red来作为缓存,如果呢,有不会red这门技术的同学,我们上硅谷呢,有周瑶老师发布的这个red的系列的课程,或者呢,大家可以最快的来访问red的这个官方网站来进行学习,特别是呢,Red也有这个中文网,哎,我们进咱们这个red c这一块呢,我们就能快速的来学习red这一块呢,有一个简单介绍,我们这个red呢,是一个开源的内存中的数据结构系统,它可以呢给我们用作数据库缓存以及消息中间件,那我们今天呢,就把它当成缓存来存取数据来使用,好那么我们要用rabbit,那第一步当然就是我们。
03:06
再来安装red,这个安装red呢,我们以docker的方式来进行安装,哎,使用咱们这个docker安装,这个docker呢,我们在spring boot核心技术有讲过,我呢就不再说了,我们就直接来安装就行,我们来先连上我们的Linux虚拟机,好,我们用这个smart这个工具,这个工具呢也给大家都发在了这个软件里边,大家安装就行了,好,那我的这个远程主机呢,是一个腾讯的云主机,我来打开,大家呢可以在本地来搭建Linux的虚拟主机,之前spring boot核心技术也都说过,好来连上。那么这个主机呢,是已经装好docker的,我们来检查一下docker images,现在呢,没有什么镜像,我们先来下载red的镜像,那red镜像呢,我们就来来去docker,去镜像仓库里边来下载一下这个red呢来搜索一下。
04:09
Red,好,我们呢就下这个官方版本呢来展开进来,那如果要下载呢,就使用docker po red命令,而这个下载呢,默认连接的是国外的仓库,速度呢比较慢,而且近期在我的几次尝试中有好多次都导致失败,所以呢我给大家推荐我们来用这个do贺中国来镜像加速,这儿呢有一个镜像加速功能,我们以后呢要下载的这个镜像名,前面呢加上我们这个镜镜像的这个地址就行了,好,我们把这个软件的这个名字,我们docker铺我把这一串复制来,把后边,哎这个名字我们留下,我们填成red就行了,好,嗯,Library read这个下载呢就是比较快的,哎,我们看这个速度呢是有明显的提升。
05:02
好,这个镜像呢,我们下载完,我来查看一下docker images,好,现在呢,我们这个red镜像就下载来了,只不过这个镜像名呢,哎这个比较长,然后呢,我们来启动这个镜像,我们使用docker RA我们来启动,然后呢,杠P代表后台的方式启动杠P暴露端口,那么我们这个red的端口呢,是6379,哎默认呢,我们将虚拟机的637井映射到容器的6379啊这些呢,我们都在核心技术里边有说过,好然后呢,我们杠杠name给我们这个起一个自己的名字,比如我们记叫my red,那到底是要运行哪个镜像呢?把这个镜像名好这一块呢,我们复制来复制全部好我来回车,那后我呢我们呢就发现它运行起来了,我们用刀开,哎,我们查看这个容器呢,Container ID已经有了,我们这个进,哎这儿有了,我们已经把6379端口也暴露出来了。
06:02
那好,为了测试呢,我们来打开我们这个red的连接工具,这个red deskop manager这个工具呢,也给大家发在了这个软件里边,来打开用就行了,好来建立上这个连接,这个connection name,这个name呢,我们随便起一个,我们就叫好,然后呢,我们这个host主机地址,我们是1182444169 118.24.44.169,好然后呢,都这个red呢,你默认可以设置密码,我们呢没设置,那默认呢就没密码,连接成功是没问题的,我们来点OK展开啊,Red的这些数据库我们都能看到啊,这有默认16个这个仓库,好这样安装呢,我们就装好了,然后我们来简单测试一下red一些常用的这些数据操作,哎,它是支持多种类型的这个数据结构的啊,我们。
07:02
在这一块呢,我们来打开它这个命令中心啊,我们来测试一些基本常用的命令,比如操作字符串string的来追加一个值到K上,好,我们开这个右键,在这个red这边,我们右键cons,打开这个控制台来调用上呢一些命令,比如这个openend,给某一个K上追加一些值aend,比如呢,我们来写一个message,我们就叫hello回车,那么这个就操作成功了,我们在默认它用TB0打开message值呢就是hello,如果呢,我再来openend给这个K,诶messageage,这个K呢,我再openend一个word,那它的值呢,我来在这reload value,那就是hello word。那么我们当然也可以用命令来获取出来这块的命令呢,大家都可以来参照我们这个命令列表,比如这个获取就叫get,嗯,Get,按照一个K,我们来写一个message,好,Hello word就能获取出来。这是操。
08:02
我们最基本的有一个字符串,我们把它常用的这几个,这个字符串完了,还有一个list,我们来操作这个list,这个list呢,我们来看一下,好,我们来用上几个常见的。比如有一个叫l push l push呢叫从队列的左边入队一个元素,相当于呢,我们这儿有一个队列,我l push一个一,那么呢,从左边我们来进来一个一,那我在l push一个二,还得从左边进,那么二呢就在这儿,我在l push一个三,三在这儿,L push一个四,四在这儿相当于四呢应该是左,在左边最头这边,那么我们可以l push上很多k value,六呢可以来写很多,包括详细的命令,大家都可以点进去,这呢都有例子,L push给一个list里边放了一些数据,包括呢在这还能用LRA从零啊,从我们啊第一个开始一直取完,那么我们就在这儿,我们来写上一个,哎,我们就用l push来放给my list里边来放上多个值吧,我们放12345,那么这个12345呢,我们是这么来放的先。
09:15
放一在这儿,二一至345,那么有l push,那我们要用一个元素呢,我们先把它刷新一下,我们来看我们这个例测里边放的这个数据,哎,五呢才是第一个数啊肉这有一个一,这代表五是第一个数,那么一呢是第五个数,那么接下来呢,我再来用一个命令,有一个l push,还有一个叫l pop l pop呢叫从左边的这个队列,哎,从队列的左边弹出一个元素,我这是不是,诶这叫l pop啊,它从左边呢弹一个元素,那如果我l pop my list有是呢,我把my list里边,哎,它是从五排到一,但是呢,五在最先,哎,一在最后,如果我要弹一个,那应该弹先弹的呢是五,因为我们是用l pop的,好,我们来看呢,读出来的是五,我再来l pop一下,那读出来的就是四。
10:16
而对应的就有一个r pop,我们从右边弹,那么4321,如果从右边队列里边弹出一个元素,那就是一个一,哎来写一个哎,它弹出是一,包括呢pop就是弹出,弹出的同时就删除这个元素,我们都可以看到,好这是呢我们对list的测试,包括呢我们再来测试一个常用的还有一个这个set set呢是我们这个集合,集合操作我们可以给集合里边呢添加多个元素,比如我们来s and啊操作集合呢要用s and来写一个k my set,我们就叫my set,我们要按照K给里边存值,好myet里边呢,我们就来写上一个啊张三李四,好,我们来写上两个人的名来回车,那么我们来看一下这个my set里面呢,相当有两个值,张三李四,但是呢,这个集合,首先这是一个无序集合,但是如果我们s and,我们再给。
11:16
Myet里边我们再来放一个李四回车,你会发现呢,这返回一个零,零代表呢,这个集合里边已经有李四了,那我们我们要看集合里边有哪些元素呢?我们可以用下边的叫s members,里面s members啊,我们来看一下my set有哪些数据会设,哎,我们就看到李四张三都有,包括呢,还有其他很多的这个判断,比如我们还可以s pop,我们可以从集合里边删除并获取一个元素,包括呢,我们还可以确定一个给定的值是不是一个集合的成员,好,我们在这判断一下S,这有一个叫is member,哎,S is member,然后呢,我们来写一个k my site,我判断my set里边王五是不是马赛特的成员,返回零,那就代表不是,那我来判断李四是不是回是返回一就代表是,等等等等,有非常多。
12:16
的操作我就不一一演示了,大家来详细学习周洋老师的red视频,好,我们这个red环境我们就搭建完,也做了一些简单测试。
我来说两句