技术能力再强工资也不一定高找工作其实也是一门技术代更新
简介 多线程情况下访问一些共享资源需要加锁,否则就会导致数据错乱的问题分布式锁可以通过DB,Redis,Zk等方式实现,本节主要介绍php使用Redis实现分布式锁set命令 setnx key value 设置一个值,当key已经存在时,返回flase,代表失败使用setnx实现分布锁有个缺陷,setnx操作无法设置key的ttl,需要配合exprie key ttl 一起使用好在set命令就集
简介RabbitMQ是一个高可用的消息中间件,学习和使用RabbitMQ非常有必要。异步消息传递支持各种开发语言java、python、php等可插拔的身份验证、授权RabbitMQ-Manager可用于管理和监视。安装这里直接使用docker,很方便的进行安装拉取镜像docker pull rabbitmq:3.8.3-management-alpine运行docker run -
概述Hadoop是一个分布式系统基础架构主要解决海量数据的存储和分析计算hadoop作为大数据技术栈必须要掌握的框架,且Hadpood生态圈非常强大Hadoop组成HDFS(Hadoop Distributed File System)分布式文件存储系统,适合一次写入,多次读出,切不修改优点高容错,数据可以保存成多副本,防止数据丢失适合处理大数据量存储,分布式存储可构建在廉价机器上,节省资源缺点不
概述Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。Spark 对比 HadoopHadoop的MapReduce和Spark都是数据处理框架,有何区别?Spark在多个作业(RDD)之间数据通信基于内存,速度更快,且MapReduce是基于磁盘,速度很慢Spark 核心模块Spark Core:核心功能实现Spark Sql:用来操作结构化数据Spark Streaming:
简介HBase是一个分布式的、持久的、强一致性的存储系统,支持特定列族切换可选压缩算法HBase继承自BigTable模型,提供过滤器功能,建少网络传输的数据量HBase使用的文件系统不至HDSF,还可以少本地文件、Amazon S3等中文文档:http://hbase.org.cn/HBase数据模型Namespace:命名空间,可以理解的mysql的databaseRow Key:决定
ClickHouse一款用于联机分析(OLAP)的列式数据库,由俄罗斯搜索引擎公司开发并开源。 使用关系模型描述数据并提供了传统数据库的基本功能。 向量化执行,需要使用CPU的SIMD(Single Instruction Multiple Data)指令,单条指令操作多条数据…
简介在生产环境使用ClikcHouse必须考虑高性能、高可用本文演示如何配置使用复制表和分布式表1.通过负载均衡策略(轮询、hash等)将数据写入到多个分片的Buffer引擎中2.Buffer引擎按照
elasticseach常用api汇总,持续更新。
直奔主题首先要有docker环境1.新增文件docker-composer.yml,输入内容2.执行以下命令docker-compose-fdocker-compose.ymlup-d-d是后台命令u
仅支持MergeTree引擎。会进行ttl清理、分区合并等
简介Apache Flink 是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。无边界数据——就是流处理有边界数据——就是批处理Flink作为大数据处理重要的技术栈之一,是不得不学习的技术,本系统将持续更新Flink相关知识点,希望对大家有所帮助。特点基于事件驱动从事件流中提取数据,当数据到来触
ClickHouse 命令汇总连接clickhousemysql -h 127.0.0.1 -P 9004 -u user_name -ppasswordclickhouse-client -uuser_name --password password --port 9000 -h 127.0.0.1安装clickhouse-client访问:https://repo.yandex.
前言现在最流行的编辑器是markdown,因为使用方便,快捷键方便记忆,且界面简洁明了,方便日常的使用。51cto现在搞了一个悟空编辑器,下面就使用感受来评价下这款编辑器。优点界面简介界面可以给90分功能完善该有的功能都有其它亮点编辑完了之后有字数提示,这个功能很好缺点快捷键不够友好快捷键目得是方便操作操作,提高操作效率,但还应方便记忆。比如引用得操作快捷键就过于复杂,改成’‘’是不是更友好,更方
5种数据类型string(字符串)基础操作127.0.0.1:6379>getname(nil)127.0.0.1:6379>setname测试OK127.0.0.1:6379>getname"\xe6\xb5\x8b\xe8\xaf\x95"127.0.0.1:6379>EXISTSname(integer)1127.0.0.1:6379>delname(integ
基本环境:centos7,python3.x1.安装seleniumpip3installselenium2.安装chrome-browserwgethttps://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm--no-check-certificateyuminstall./google-chrome-sta
正则表达式验证邮箱!preg_match(“/^[0-9a-zA-Z-]+@[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+){1,3}$/”,$email)传值和传引用的区别按值传递:函数范围内对值的任何改变在函数外部都会被忽略按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操
Hash表(HashTable)又称散列表,通过把key映射到数组中一个位置,可以加快数据访问速度,这个映射函数就是Hash函数,存放数据的数组就是哈希表。哈希算法如果不同的key哈希之后就结果是一样的,就是导致hash冲突,hash冲突的几率也是评判哈希算法质量的关键指标。经典Hash算法Times33/***经典hash算法Times33*算法思路:不断*33,效率和分布性都非常好*用于:Ap
RPC是什么RPC(RemoteProcedureCall,远程过程调用)容许程序调用另一个地址空间的过程或者函数。RPC的实现方式很多,可以基于常见的HTTP协议,也可以在TCP上层封装自己的协议,由于HTTP报头较为冗长,性能较差,基于TCP协议的RPC可以建立长连接,速度和效率明显。在分布式系统中,最重要的就是各个服务之间的RPC调用。RPC从通信协议层面可以分为:基于HTTP文本协议基于二
IO模型Redis是单线程的,为什么支持高并发?node.js,nginx也是单线程的。除了Redis数据是存在内存里面的,所有操作都是内存级别的,还有其它原因导致它有如此高的性能?多路复用(事件轮训)多路复用是一种IO模型,那系统中还有哪些IO模式?一起来看看吧常见的IO模型同步阻塞IO(BlockingIO)传统IO模型,请求server,如果server没有返回,client会一直等待,直到
composerinstall-如有composer.lock文件,直接安装,否则从composer.json安装最新扩展包和依赖;composerupdate-从composer.json安装最新扩展包和依赖;composerupdatevendor/package-从composer.json或者对应包的配置,并更新到最新;composerrequirenew/package-添加安装new/
简介压测工具有很多,如:LoadRunner、JMeter、ab等LoadRunner和JMeter使用相对复杂,ab比较简单ab是Apache附带的压测软件➜~ab-VThisisApacheBench,Version2.3<$Revision:1826891$>Copyright1996AdamTwiss,ZeusTechnologyLtd,http://www.zeustech.
desc表名;//表信息showcolumnsfrom表名;//表字段describe表名;//表信息showcreatetable表名;//表创建语句showcreatedatabase数据库名;//显示数据库信息showtablestatusfrom数据库名;//数据库状态showtables或showtablesfromdatabase_name;//显示当前数据库中所有表的名称showda
简介mysqlslap是mysql官方的压力测试工具无需另外安装,mysql自带官方参考文档:https://dev.mysql.com/doc/refman/5.7/en/mysqlslap.html#option_mysqlslap_debug-infoCreateschema,table,andoptionallyanystoredprogramsordatatouseforthetest.
简介sysbench是一个模块化的、跨平台、多线程基准测试工具。github地址:https://github.com/akopytov/sysbench/blob/master/README.md#general-command-line-options它主要包括以下几种方式的测试:安装mac环境安装brewinstallsysbench其它环境安装详见github:https://github
以下代码执行结果是什么?$a=[1,2,3];foreach($aas&$v){}foreach($aas$v){var_dump($a);}echojson_encode($a);返回:[1,2,2]&会引用变量的内存地址第一次foreach会使$v和$a[2]共享内存地址https://www.php.net/manual/zh/language.references.php
composerupdate的时候出现:[Composer\Downloader\TransportException]The"https://packagist.org/p/provider-2018-10%24ceed846c1a187d8670540d62ead2c32137653431a06bf2c84d5fb2e04ed484b5.json"filecouldnotb
$argvinput.phpvar_dump($argv);getoptvar_dump(getopt('n:'))STDINSTDIN:只读,用于从控制台输入内容;STDOUT:只写,用于向控制台输出正常信息;STDERR:只写,用于向控制台输出错误信息;$str=fgets(STDIN);//获取一行字符(包含末尾回车符)echo'您输入了:'.$str;
系统环境mysqlVer8.0.11forLinuxonx86_64(Sourcedistribution)CentOSLinuxrelease7.5.1804(Core)查看centos版本命令:cat/etc/redhat-release安装mysql二种方式分别在二台vps中安装mysqllnmp包,php开发可以选择此方式yum源,教程见:https://www.cnblogs.com/M
问题原由早上突然接到客户电话,网站在微信中无法打开,被微信拦截在pc端访问网站,点击首页中任何一个url都会跳转到第三方网站,恍然大悟,网站是被***了问题分析发现网站head被加入一下代码js里面代码:(function(){/*百度推送代码*/varbp=document.createElement('script');bp.src='//push.zhanzhang.baidu.com/pus
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号