Redis的主从复制 单机部署的问题 机器故障(高可用)
容量瓶颈(分布式)
QPS瓶颈(分布式)
主从复制的作用 为一个数据提供了副本
slave从master复制一个备份库
master可以有多个slave
一个slave只能有一个master
数据流向是单向的,由master–>slave
扩展读性能,可以实现读写分离
主从复制实现 slaveof slaveof 127.1 6380
取消复制
slaveof no one
配置 #配置这个redis服务复制ip:port这个redis作为他的slave slaveof ip port #只读,必须保证从和主的内容一致 slave-read-only yes …
Redis的持久化 Redis持久化作用 什么是持久化 redis的所有数据保存在内存中,对数据的更新回异步的保存在磁盘中
持久化方式 快照 MySQL Dump
Redis RDB
日志 MySQL Binlog
Hbase HLog
Redis AOF
RDB持久化 什么是RDB redis可以通过命令,把当前数据库的状态保为一个RDB文件(二进制)
也可以通过命令把硬盘上的RDB载入到redis中
同时RDB文件也是一个复制的媒介
触发机制 save 通过save命令让redis生成rdb文件,生成成功返回‘OK’
同步命令,阻塞命令,会导致服务器阻塞
会替换老的rdb文件
复杂度On
bgsave 接收到bgsave …
Redis高级特性初识 慢查询 客户端请求的生命周期 客户端发送命令
入队列
执行命令(慢查询在这一阶段)
返回客户端
(客户端超时,不一定是慢查询,慢查询只是客户端超时的一个可能)
配置 slowlog-max-len,固定长度
slowlog-log-slower-than,慢查询阈值(单位微秒)
=0,记录所有命令
<0,不记录任何命令
#1. 第一次开启配置 config get slowlog-max-len = 128 config get slowlog-log-slower-than = 10000 #2. 修改默认配置重启 #3. 动态配置 config set slowlog-max-len = 128 …
利用enve使用在ros中使用python3 因为ros的python有很多依赖需要使用C,python3的支持不太好。我们可以让当前的环境变量依然是python2,为ros创建一个py3的enve来给它使用
查看版本: pip -V pip3 -V python -V python3 -V 我的pip和python都是py2.7的
接下来在你的工作空间中创建enve
mkdir -p catkin_ws/src cd catkin_ws pip3 install virtualenv #先安装 virtualenv -p /usr/bin/python3 venv#创建一个名为enve的python3环境 source …
ROS 工作空间:组织和管理功能包的文件夹 catkin workspace
build (cmake,catkin缓存中间件)
src(package 源代码)
package1(是catkin编译的基本单元)
package2
folder
package3
package3
devel(目标文件)
头文件
动态连接库
静态连接库
可执行文件
catkin(编译工具) catkin ROS定制的编译构建系统
是对CMake的扩展
常用命令:
catkin_make: 初始化,建立工作空间
eg:
mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make 编译
eg:
cd …