docker ps
可以查看当前docker中运行的所有容器的状态
ps命令中常见的选项如下:
ps命令显示的标题内容如下
docker stop 可以停止正在运行的容器
stop只是停止容器.并不会删除容器
如果想删除容器需要使用rm命令
注意:这里rm删除的是容器,不是本地镜像,和rmi命令要区分
首先使用docker ps命令查询所有正在运行的容器
docker stop [容器id]
docker rm [容器id]
rm的选项有:
-f:强制删除容器,无论是否运行都可以删除该容器,如果不加,运行的容器无法删除。
docker search 搜索"redis"
拉取镜像参考之前的笔记
自己搜docker启动Redis的命令
docker run -itd --name redis-test -p 6379:6379 redis
启动之后可以本地访问客户端
docker exec -it redis-test redis-cli
如果当前windows系统要连接Linux中的资源
一般都要关闭Linux的防火墙
实际开发中,不会彻底关闭防火墙,而是开放指定的端口号
systemctl stop firewalld
system:系统
ctl:control:控制
给大家的大压缩包
Virtualbox 4.15G
VMware 3.55G
解压之后启动
Linux:
用户名:root
密码:12345678(不要用小键盘)
启动后使用
ifconfig | more
观察ip地址
可以利用HS尝试连接虚拟机的数据库
一般情况下ip地址为:192.168.137.150
数据库密码是:
tarena2017Up;
注意分号也是密码的一部分,不写连不上
注意如果需要停止虚拟机,选择快速休眠,不要关机
因为现版本酷鲨商城连接的都是本地软件(mysql\redis\nacos等)
下面我们要连接的是虚拟机软件,所以要修改一下java项目的配置文件
front
addr: 192.168.137.150
mall-leaf
leaf.properties
leaf.jdbc.url=jdbc:mysql://192.168.137.150:3306/leafdb?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true
leaf.jdbc.password=tarena2017Up;
mall-order
addr: 192.168.137.150
password: tarena2017Up;
mall-product
addr: 192.168.137.150
password: tarena2017Up;
mall-search
addr: 192.168.137.150
mall-seckill
addr: 192.168.137.150
password: tarena2017Up;
rabbitmq:
host: ${
my.server.addr}
port: 5672
username: user
password: 123456
virtual-host: /
mall-sso
addr: 192.168.137.150
# 有两个密码要改!!!!
admin
password: tarena2017Up;
user
password: tarena2017Up;
设置完毕之后,我们可以尝试测试其中的功能
例如新增订单
无需启动任何windows的软件(nacos\seata都不需要启动)
只需要启动模块内容即可
Leaf\product\passport\order
测试没问题表示虚拟机在正常工作
因为上面我们启用了虚拟机
我们在虚拟机中安装的redis是一个特殊版本的Redis
这个版本内置了lua脚本,支持布隆过滤的方法
我们可以直接使用,实现布隆过滤器
csmall-stock-webapi的pom文件 添加依赖
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-data-redisartifactId>
dependency>
在dev-yml文件中添加redis的配置
spring:
redis:
host: 192.168.137.150
port: 6379
password:
操作布隆过滤器有一个专门的类
实现对布隆过滤器的新增元素,检查元素等方法的实现
在酷鲨前台大项目中的seckill-webapi下的utils包里
RedisBloomUtils类复制到需要使用布隆过滤器的项目中
当前Stock模块
有一个周期输出时间的方法
我们可以借助这个运行,测试布隆过滤器的功能(如果这个方法已经编写了别的代码可以先注释掉)
quartz包下QuartzJob
// 操作支持布隆过滤器redis的对象
@Autowired
private RedisBloomUtils redisBloomUtils;
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
// 实现一个简单的任务做演示
// 例如输出当前时间
System.out.println("-------------------"