09 2023 档案
摘要:使用 maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency> <dependency> <gro
阅读全文
摘要:Mybatis简单使用 import lombok.Data; import lombok.NoArgsConstructor; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; i
阅读全文
摘要:前言 RedisInsight 是一个直观高效的 Redis GUI 管理工具,它可以对 Redis 的内存、连接数、命中率以及正常运行时间进行监控,并且可以在界面上使用 CLI 和连接的 Redis 进行交互(RedisInsight 内置对 Redis 模块支持)。 RedisInsight 提
阅读全文
摘要:Geohash GeoHash是目前比较主流实现位置服务的技术,Geohash算法将经纬度二维数据编码为一个字符串,本质是一个降维的过程。 一个例子 地点 经纬度 Geohash 鸟巢 116.402843,39.999375 wx4g8c9v 水立方 116.3967,39.99932 wx4g8
阅读全文
摘要:主从模式 为了避免单点故障 和 读写不分离,Redis 提供了复制(replication)功能,master数据库中的数据更新后,会自动将更新的数据同步到其他slave数据库上。 优点: 主从结构具有读写分离,提高效率、数据备份,提供多个副本等优点。 不足: 大的不足就是主从模式不具备自动容错和恢
阅读全文
摘要:关于Redis持久化 RDB(redis database):在指定的时间间隔对数据进行快照存储,全量存储。它以紧缩的二进制文件保存Redis数据库某一时刻所有数据对象的内存快照,可用于Redis的数据备份、转移与恢复。 AOF(append only file):记录每次对服务器写的操作,当服务器
阅读全文
摘要:加载第三方模块 git clone https://github.com/wujunze/redis-module-panda.git make docker cp panda.so redis:/ 如果网络不好,下载不下来,可以下载到 windows 下,通过 scp 工具上传到服务器。make之
阅读全文
摘要:简介 ZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。可以理解为zookeeper是文件系统+监听通知机制。ZooKeeper 的架构通过冗余服务实现高可用性。 Zookeeper 的设计目标是将那些复杂且容易出错的分布
阅读全文
摘要:Spring整合Redis 使用Lettuce框架访问Redis private static RedisCommands<String, String> createRedisCommands() { RedisURI.Builder builder = RedisURI.Builder.redi
阅读全文
摘要:前言 Redis 通过 lua 脚本来支持多条语句的原子性。 Linux下安装 # 下载压缩包 curl -R -O http://www.lua.org/ftp/lua-5.4.3.tar.gz # 解压 tar -zxvf lua-5.4.3.tar.gz # 进入解压目录 cd lua-5.4
阅读全文
摘要:开篇介绍 知识全景图 问题群像图 01-基本架构:一个键值数据库包含什么 02-数据结构:快速的Redis有哪些慢操作? 新版的数据机构有变化 rehash过程 为了使rehash操作更高效,Redis默认使用了两个全局哈希表:哈希表1和哈希表2。一开始,当你刚插入数据时,默认使用哈希表1,此时的哈
阅读全文
摘要:使用docker搭建 6.x 版本以后的镜像 docker 支持部署集群模式,由于 Redis 要求集群至少要有三个主节点,因此本次测试搭建了三主三从的 Redis 集群。 不基于 Host 网络模式 配置docker-compose.yml文件 version: "3" networks: red
阅读全文
摘要:使用Docker安装 因为配置太复杂,所以这里我们使用 docker compose 来一键部署 不使用内部网络搭建 编写redis主从docker-compose.yml version: '3' services: master: image: redis container_name: red
阅读全文
摘要:使用Docker搭建主从 关于主从复制模式,注意如下要点。 第一, 一个主服务器可以带一个或多个从服务器,甚至从服务器也可以再带从服务器,但在复制数据时,只能把主服务器的数据复制到从服务器上,反之不能。 第二, 一台从服务器只能跟随一台主服务器,而不能出现一从多主的模式。 第三, 在 Redis 2
阅读全文
摘要:使用字符替换来分割字符串 tr 或者 类似实现字符串替换的工具,如 sed。 echo "go:python:rust:js" | tr ":" "\n" # 使用 tr 将分隔符 : 替换成换行符 \n 使用 tr 将分隔符 : 替换成换行符 \n。 使用 cut 分割字符串 echo "go:p
阅读全文
摘要:介绍 MongoDB 是一个免费的开源跨平台面向文档的 NoSQL 数据库。 安装 docker pull mongo 下载最新版本的镜像 docker run -d --name mongo -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_RO
阅读全文
摘要:简介 rocksDB 是一个可嵌入的,持久性的 key-value存储。基于Google的LevelDB,但提高了扩展性可以运行在多核处理器上,可以有效使用快速存储,支持IO绑定、内存和一次写负荷。 高性能:RocksDB使用一套日志结构的数据库引擎,为了更好的性能,这套引擎是用C++编写的。 Ke
阅读全文
摘要:需求 比如数据库名称old_db 想改名为new_db MySQL修改数据库名称比较麻烦,不支持直接修改,需要通过其它方式间接达到修改数据库名称的目的。 在 MySQL 5.1.23 之前的旧版本中,我们可以使用 RENAME DATABASE 来重命名数据库,但此后版本,因为安全考虑,删掉了这一命
阅读全文
摘要:FIELD FIELD(s,s1,s2...) SELECT FIELD("c", "a", "b", "c", "d", "e"); -- 返回字符串 c 在列表值中的位置,索引位置从 1 开始,没有返回 0 FIND_IN_SET FIND_IN_SET(s1,s2) SELECT FIND_I
阅读全文
摘要:ENUM 枚举类型 ENUM适合于只能在一组固定值中选一个的场景,比如性别只能为男或者女。 ENUM的优势在于: 只能在固定值中选择,可以在数据库层面限制非法值。 数据的存储用数字来存储,占用空间少。 但是它的使用有很多需要我们注意的地方,一不小心就会得到错误的结果。 create table te
阅读全文
摘要:介绍 canal,译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。 canal的工作原理就是把自己伪装成MySQL slave,模拟MySQL slave的交互协议向MySQL Master发送 dump 协议,MySQL mater收到canal发送
阅读全文
摘要:使用binlog2sql(Python版) 解析binlog文件来创建回滚的sql 准备工作 需要提前安装Python环境 git clone https://github.com/danfengcao/binlog2sql.git cd binlog2sql pip3 install -r req
阅读全文
摘要:### 下载 docker 镜像 ```sh docker pull mysql ``` ### 创建两个容器 ```sh docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=pwd1 --name mysql-01 mysql docker run
阅读全文
摘要:### 01 | 基础架构:一条SQL查询语句是如何执行的? 版本8.0已经将查询缓存的整块功能删掉了。 - 问题答疑: ```txt 如果表 T 中没有字段 k,而你执行了这个语句 select * from Twhere k=1, 那肯定是会报“不存在这个列”的错误: “Unknown colu
阅读全文
摘要:前言 FFmpeg 是视频处理最常用的开源软件。 它功能强大,用途广泛,大量用于视频网站和商业软件(比如 Youtube 和 iTunes),也是许多音频和视频格式的标准编码/解码实现。 操作注意 所有文件名不能包含中文或空格等特殊符号 将avi转成mp4 ffmpeg -i input_filen
阅读全文
摘要:### 简介 时序数据库就是存放事件序列数据的数据库,需要支持时序数据的快速写入、持久化、多维度的聚合查询等基本功能。 时间序列数据是基于时间的一系列数据。在有时间的坐标中将这些数据点连成线,往过去看可以做成多纬度报表,揭示其趋势性、规律性、异常性;往未来看可以做大数据分析,机器学习,实现预测和预警
阅读全文
摘要:### 介绍 [etcd](https://github.com/etcd-io/etcd) 是 CoreOS 团队发起的一个开源项目,实现了分布式键值存储和服务发现,etcd 和 ZooKeeper/Consul 非常相似,都提供了类似的功能,以及 REST API 的访问操作,具有以下特点: -
阅读全文