Spring Boot 2.x 集成Redis示例
一、如何集成首先,在 pom 文件新增 redis 依赖: 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency> 接着修改项目配置文件 application.properties,增加 redis 配置 1234# redis hostspring.redis.host=172.24.58.226# redis portspring.redis.port=6379 经过上面简单的两步,即可在项目中使用 StringRedisTemplate 和 RedisTemplate<Object,Object>,因为从 Spring Boot 2.0 开始,Spring...
在CentOS7系统安装和配置ZooKeeper
安装步骤 下载安装包,命令如下, 1wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.6/apache-zookeeper-3.5.6-bin.tar.gz 输出结果: 12345678910111213# 当前目录为 /home/software[jump@205 software]$ wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.6/apache-zookeeper-3.5.6-bin.tar.gz--2019-12-12 16:43:27-- http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.6/apache-zookeeper-3.5.6-bin.tar.gzResolving mirror.bit.edu.cn (mirror.bit.edu.cn)... 219.143.204.117, 202.204.80.77,...
【ZooKeeper启动失败】Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain
在 CentOS 7 系统中安装好 ZooKeeper 后,进入安装目录 /usr/local/zookeeper/apache-zookeeper-3.5.6/bin/,使用命令 ./zkServer.sh start 启动,发现启动失败: 1234[zookeeperu@202 bin]$ ./zkServer.sh startZooKeeper JMX enabled by defaultUsing config: /usr/local/zookeeper/apache-zookeeper-3.5.6/bin/../conf/zoo.cfgStarting zookeeper ... FAILED TO START 进入目录 /usr/local/zookeeper/apache-zookeeper-3.5.6/logs,查看日志文件: 12[zookeeperu@202 bin]$ cd /usr/local/zookeeper/apache-zookeeper-3.5.6/logs[zookeeperu@202 bin]$ vim...
关于MySQL数据库自增主键,说几个容易被忽略的点
自增主键是什么自增主键是指在自增列上定义的主键。自增主键可以让主键索引尽量地保持递增顺序插入,避免了页分裂,索引也更紧凑。 在建表语句中一般是这么定义的: 1NOT NULL PRIMARY KEY AUTO_INCREMENT 如: 12345CREATE TABLE `t` ( `id` int(11) NOT NULL AUTO_INCREMENT, `step` int(11) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB; 自增值保存在哪里不同的数据库引擎对于自增值的保存策略不同: MyISAM 引擎:自增值保存在数据文件中; InnoDB引擎: 在 MySQL 5.7 及之前的版本,自增值保存在内存里,并没有持久化。每次重启后,第一次打开表的时候,都会去找自增值的最大值 max(id),然后将 max(id)+1 作为这个表当前的自增值。 在 MySQL 8.0 版本,将自增值的变更记录在了 redo log 中,重启的时候依靠 redo log...
【Git常用命令】查看/修改远程仓库地址
Git查看远程仓库地址命令: 1git remote -v e.g. 1234# 查看远程仓库地址git remote -vorigin http://gogs.linjiangxiong.com/ljx/devops-doc.git (fetch)origin http://gogs.linjiangxiong.com/ljx/devops-doc.git (push) Git修改远程仓库地址命令: 1git remote set-url origin new.git.url/here e.g. 1234567# 将远程仓库地址改为 HTTPS 协议git remote set-url origin https://gogs.linjiangxiong.com/ljx/devops-doc.git# 查看修改后的地址git remote -vorigin https://gogs.linjiangxiong.com/ljx/devops-doc.git...
Redis根据通配符批量删除Key
Redis 目前还不支持根据通配符批量删除 Key 的命令,但我们可以借助 Redis 的 del 命令、Linux 管道和 xargs 指令来完成。 Redis的 del 命令支持删除给定的一个或多个 key,并返回被删除 key 的数量。如命令 del key1 key2 key3。 比如要删除所有以 WxMpSessionKey 开头的 Key,可以使用如下命令: 12[redis@iztz9ploifbvce ~]# redis-cli -h 192.168.182.227 -p 1379 keys "WxMpSessionKey*" |xargs redis-cli -h 192.168.182.227 -p 1379 del(integer) 2674 如果连接 Redis 的 HOST 为 127.0.0.1,端口号也为默认的 6379,则以上的命令可以简写为: 1redis-cli keys "WxMpSessionKey*" |xargs redis-cli del (END)
CentOS7下安装JDK1.8
安装Java 幵发工具包(JDK) 从 Oracle 官网下载 1.8 版本的安装包 (网速慢的同学请移步国内镜像,提取码为 rjqx),本次安装的JDK版本为 jdk-8u221-linux-x64.tar.gz; 上传至服务器(系统为 CentOS7.3),存放目录为 /home; 1scp ~/Downloads/jdk-8u221-linux-x64.tar.gz root@192.168.3.67:/home 新建JDK安装目录 /usr/local/java, 1mkdir /usr/local/java 解压文件 jdk-8u221-linux-x64.tar.gz 至安装目录 /usr/local/java, 1tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/local/java/ 安装完成之后需要配置环境变量,将以下代码追加到文件 profile 末尾; 12345# JAVA_HOME为JDK安装目录export JAVA_HOME=/usr/local/java/jdk1.8.0_221export...
MySQL多表更新(关联表更新)
在开发过程中,有时会遇到需要将某张表的字段值根据条件动态地更新到另一张表字段的问题,即通过一张表的字段修改另一张关联表中的内容。比如,存在两张表A(表名:test_a)、B(表名:test_b),他们的表结构如下: 表A(test_a): id user_id dept_id update_time 1 34242 313 2 35322 320 3 35639 321 表B(test_b): id user_id patient_id dept_id create_time 1 34242 342 0 2018-05-23 09:33:45 2 35322 365 0 2018-05-24 00:13:05 3 35639 398 0 2018-05-24 00:43:18 现在我们需要将表A的 dept_id 字段值根据 user_id 字段同步到表B的 dept_id 字段中,即用表A中的 dept_id 字段数据去更新表B中的 dept_id 字段,条件是表A的 user_id 字段值与表B的...
用Markdown优雅地编写接口文档(排版示例)
本排版示例整理于两年前,当时是用来在公司推广使用 Markdown 编写开发文档的,现在稍微作了些修改,去掉一些与公司接口相关的信息。希望该示例能够对小伙伴们在以后编写文档时有所帮助,也希望能够得到大家关于文档排版方面的建议。使用 Markdown 编写接口文档最主要的好处,一个是可以让你更专注于内容本身,另外一个是 Markdown编写的文档能用代码管理工具(Git、SVN等)进行有效的版本管理(如版本对比)。 本示例显示效果如下:(源文件链接:https://github.com/iuiuu/markdown-api-document) AA公司BC平台接口文档 v3.2.01 规范说明1.1 通信协议HTTPS协议 1.2 请求方法所有接口只支持POST方法发起请求。 1.3 字符编码HTTP通讯及报文BASE64编码均采用UTF-8字符集编码格式。 1.4...
罗马数字(下)——对照表 1-1000
罗马数字 1-1000 对照表 PDF 版本下载: roman numerals 1-1000.pdf Excel 版本下载: roman numerals...
罗马数字(中)——起源与用途
一、罗马数字的诞生与进化罗马数字起源于古罗马帝国,拥有一个漫长而复杂的历史,始于公元前 8 世纪至 9 世纪,与古罗马帝国在帕兰丁山(Palantine Hill)周围建立的时间大致相同。不过,罗马数字的盛行时间比帝国本身还要长,直到 14 世纪前仍被广泛使用。 在设计上,罗马数字存在一些缺陷: 1) 没有表示零(0)的符号; 2) 也没有用于计数超过几千数值的实际方法,只有通过在数字符号上方添加横线来表示它们的值的倍数来修正。 复杂的社会、经济管理,建造像斗兽场和君士坦丁大拱门这样的大型纪念碑,都离不开大量的数学技能。而罗马数字的这些缺陷并没有阻止古罗马的学者和建筑师们建立一个伟大的帝国。 在公元 11 世纪时,阿拉伯数字传入欧洲。阿拉伯数字始创于印度,采用 0、1、2、3、4、5、6、7、8、9 共 10...
罗马数字(上)——拼写规则
罗马数字符号罗马数字是总共由 7 个字母符号表示:I(1)、V(5)、X(10)、L(50)、C(100)、D(500)和 M(1000)。 表一:罗马数字对应的阿拉伯数字 罗马数字 阿拉伯数字 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 他们按照以下 4 个规则可以组合成表示任意的正整数。 规则 1一个罗马数字重复多少次,就表示这个数多少倍,比如罗马数字 I 表示的是数字 1,重复两次,即 II,表示的数字是 2,同理,III 表示数字 3,XX 表示数字 20,CC 表示数字 200 等; 需要注意的是,同一个罗马数字最多只能连续重复 3 次,如数字 400 就不能表示为 CCCC(重复了 4 次),而是要用 CD 来表示,数字40不能表示为 XXXX(同样重复了 4 次),而要表示为 XL 等。 但有一种特殊情况,因为古罗马人用 IV 作为古罗马神话主神朱庇特(IVPITER,古罗马字母里没有 J 和 U)名字的简写,他们不希望神的名字看上去像个数字,因此有时用 IIII 代替...