- 「白熊原创」Redis操作详细教程(一) 05-09
- Memcached与Redis各自特点 05-09
- Mysql 8 重要新特性-CTE 通用表表达式 05-09
- 世界上最昂贵的数据库——Oracle数据库即将走上花 05-09
- 大神教你自动发现监控mysql从库状态 05-09
- mysql字符集的设置 05-09
- 利用Zipkin追踪Mysql数据库调用链 05-09
- 关于Navicat和MYSQL字符集不统一出现中文乱 05-09
- MySQL中的自增列 05-09
- 从HDFS同步数据到mysql:搭建数据分析体系第3 05-09
「白熊原创」Redis操作详细教程(一)
发布者: superzhang | 发布时间:2018-05-09操作Redis
可以使用两种方式操作Redis:
1) 使用redis客户端在命令行下操作(CURD);
2) 使用PHP程序操作Redis(CURE)。
1. 使用redis客户端(redis-cli)操作redis1. 连接redis服务-h 服务器地址;-p 端口号
关闭redis服务语法:set key value
如果key存在,则修改;如果key不存在,则添加
Memcached与Redis各自特点
发布者: superzhang | 发布时间:2018-05-09说到redis就会联想到memcached,反之亦然。了解过两者的同学有那么个大致的印象:redis与memcached相比,比仅支持简单的key-value数据类型,同时还提供list,set,zset,hash等数据结构的存储;redis支持数据的备份,即master-slave模式的数据备份;redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用等等,这似乎看起来redis比memcached更加牛逼一些,那么事实上是不是这样的呢?存在即合理,我们来根据几个不同点来一一比较一下。
网络IO模型
memcached是多线程,非阻塞IO复用的网络模型,分为监听主线程和worker子线程,监听线程监听网络连接,接受请求后,将连接描述字pipe传递给worker线程,进行读写IO,网络层使用libevent封装的事件库,多线程模型可以发挥多核作用,但是引入了cache coherency和锁的问题,比如:memcached最常用的stats命令,实际memcached所有操作都要对这个全局变量加锁,进行技术等工作,带来了性能损耗。
redis使用单线程的IO复用模型,自己封装了一个简单的AeEvent事件处理框架,主要实现了epoll, kqueue和select,对于单存只有IO操作来说,单线程可以将速度
Mysql 8 重要新特性-CTE 通用表表达式
发布者: superzhang | 发布时间:2018-05-09前言
Mysql 8 正式发布了,新增了很多优秀特性,之后我会挑些重点来分享。
下面和大家一起熟悉下CTE(Common Table Expressions)通用表表达式。
CTE 是什么派生表大家都比较熟悉了,CTE 就是针对派生表来的,可以说是增强的派生表,或者说时派生表的替换。
派生表是FROM中的子查询,例如:
SELECT ... FROM (subquery) AS derived, t1 ...CTE 就像派生表,但它的声明是在查询块儿之前,而不是在FROM中,例如:
WITH derived AS (subquery)SELECT ... FROM derived, t1 ...CTE 的语法世界上最昂贵的数据库——Oracle数据库即将走上花式作死之路吗?
发布者: superzhang | 发布时间:2018-05-09众所周知,Oracle DataBase是一款关系型数据库管理系统。同类的产品还有mySql,sqlServer等,大多数情况下,我们会把那个承载我们核心数据的系统笼统地成为数据库服务器,但从严格意义上来讲Oracle DataBase是由两个部分组成:
实例:实例是数据库启动时初始化的一组进程和内存结构;
数据库:数据库则指的是用户存储数据的一些物理文件;
正因为如此我们一般才会说 关闭和启动实例,加载卸载数据库。
从实例和数据库的概念上来看,我们能知道,实例暂时的
大神教你自动发现监控mysql从库状态
发布者: superzhang | 发布时间:2018-05-09导读zabbix从库如果复制有问题,在主库机器有问题的时候,切为主就会导致数据的丢失。或者主从分离的时候,如果从库出现延时状态的话,会导致前端页面展示的数据不是为最新的数据。因此,监控mysql从库的状态是必要的。
mysql从库的状态主要监控的值有三个,分别为Slave SQL Running,Slave IO Running和Seconds Behind Master。只有当Slave SQL Running,Slave IO Running为yes,然后Seconds Behind Master为0的时候,从库才有可能运行在正常的状态下(有时候这三个值都符合要求,从库数据也会有问题)。先看下监控的效果:
由于是自动发现监控的mysql从库状态,因此,先贴下自动发现规则的配置,使用mysql.slave.discover去获取mysql从库的端口,在从库安装zabbix agentd,并添加配置(UserParameter=mysql.slave.discover,p
mysql字符集的设置
发布者: superzhang | 发布时间:2018-05-09查看服务器字符集设置
mysql> SHOW VARIABLES WHERE Variable_name LIKE'character%'OR Variable_name LIKE'collation%';
+--------------------------+--------------------+
| Variable_name | Value |
+--------------------------+--------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| collation_connection | utf8mb4_unicode
利用Zipkin追踪Mysql数据库调用链
发布者: superzhang | 发布时间:2018-05-09概述
在前面:微服务调用链追踪中心搭建 一文中我们利用Zipkin搭建了一个微服务调用链的追踪中心,并且模拟了微服务调用的实验场景。利用Zipkin的库Brave,我们可以收集一个客户端请求从发出到被响应 经历了哪些组件、哪些微服务、请求总时长、每个组件所花时长 等信息。
本文将讲述如何利用Zipkin对Mysql数据库的调用进行追踪,这里同样借助OpenZipkin库Brave来完成。
扩展ZipkinTool组件
ZipkinTool是在《微服务调用链追踪中心搭建》一文中编写的与Zipkin通信的工具组件,利用其追踪微服务调用链的,现在我们想追踪Mysql数据库调用链的话,可以扩展一下其功能。
pom.xml添加依赖:
<dependency> <groupId>io.zipkin.brave</groupId> <artifactId>brave-mysql&关于Navicat和MYSQL字符集不统一出现中文乱码解决方案(原创)
发布者: superzhang | 发布时间:2018-05-09关于Navicat和MYSQL字符集不统一出现中文乱码解决方案
先打开mysql目录下的my.ini文件
确认俩处值为为utf8
在Navicat连接属性中
当然,最近还有个网友问了我一个自增列的问题,描述的场景略微复杂些,我做了简化和抽象。
我们创建两个表t1,t2,在t2里面插入数据,然后使用insert into select的方式插入数据。
mysql> create table t1(id int auto_increment primary key,name varc
从HDFS同步数据到mysql:搭建数据分析体系第30篇
发布者: superzhang | 发布时间:2018-05-09DATAX配置文件
使用datax替换sqoop,感觉差不多,看业务需要选择。
datax将数据从hdfs同步到mysql的配置假设hdfs中文件有三列,读取这个HDFS上的文件,向mysql中同步。
获取配置模板python datax.py -r hdfsreader -w mysqlwriter
先要创建mysql表create table people1(
id VARCHAR(100),
name VARCHAR(100),
age VARCHAR(100),
)
{
"job": {
"content": [
{
"reader": {
"name": "hdfsreader",
"parameter":{
"column": [
{<
