- 博客(108)
- 资源 (2)
- 收藏
- 关注
原创 ADB命令大全
ADB全称为AndroidDebugBridge,起到调试桥的作用,是一个客户端-服务器端程序。其中客户端是用来操作的电脑,服务端是Android设备。ADB也是AndroidSDK中的一个工具,可以直接操作管理Android模拟器或者真实的Android设备。ADB可以直接操作管理手机模拟器或者真实的手机设备(如华为手机)。...
2022-07-19 14:55:23
834
原创 一、接口测试简介
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等1..接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。2..现在很多系统前后端架构是分离的,从安全层面来说:(1)、只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易),需要
2022-07-14 18:40:29
1005
转载 Python装饰器与闭包
闭包是Python装饰器的基础。要理解闭包,先要了解Python中的变量作用域规则。变量作用域规则首先,在函数中是能访问全局变量的:>>> a = 'global var'>>> def foo(): print(a)>>> foo()global var然后,在一个嵌套函数中,内层函数能够访问在外层函数中定义的局部变量:>>> def foo(): a = 'free var' def bar(
2022-05-31 01:20:19
350
原创 MySQL 事务
事务的隔离级别有哪些?MySQL的默认隔离级别是什么?什么是幻读,脏读,不可重复读呢?MySQL事务的四大特性以及实现原理MVCC熟悉吗,它的底层原理?MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!ACID — 事务基本要素事务是由一组SQL语句组成的逻辑处理单元,具有4个属性,通常简称为事务的A...
2021-05-12 20:38:43
254
转载 MySQL查询
MySQL查询count(*) 和 count(1)和count(列名)区别 ps:这道题说法有点多执行效果上:count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL count(1)包括了所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。执行效率上:列名为主键,count(列名
2021-05-12 16:58:49
147
原创 2021PHP中高級面试题整理
PHP中级开发$a=[0,1,2,3]; $b=[1,2,3,4,5]; $a+=$b;$a值是多少?【数组相加】 HTTP 状态中302、403、 500代码含义?【http协议理解】 echo、print_r、print、var_dump区别【PHP函数基础】 语句include和require的区别是什么?重复包含同一个文件分别会有什么提示?【include 与require问题】。 PHP7 与 PHP5 的区别【PHP】 php中字符串处理函数列举5个,简述用途【PHP函数】 列举
2021-05-11 14:58:32
868
转载 composer 的设计原理及其基本用法一
相信有在用PHP的朋友近年来常听到composer这个套件管理工具。它到底是做什么用的?又是为了解决什么问题而存在呢?要了解这个,得先从历史开始说起…。PHP最早加载类的方法初学PHP时,最早会面对的问题之一就是require与include差别何在?require_once与include_once又是什么?弄懂这些问题之后,如果不使用framework,直接开发,便常出现类似这样的code:// whatever.php// 这档案需要用到几个类别require 'xxx_
2021-04-29 19:10:44
187
原创 CSS3选择器
一、属性选择器语法:E[att]{sRules}说明:用于选取带有指定属性的元素。代码:<style type="text/css">img[alt]{background-color: #1abc9c}</style><img src="" alt="图片"/>图片:语法:E[att="val"]{sRules}说明:用于选取带有...
2019-09-10 15:17:14
216
原创 浏览器兼容
本文测试工具:IE11自带各种版本IE调试,但是没有IE6,IE6使用IEtester,文中测试如有瑕疵,望指出。五大浏览器内核代表:Trident:IE Maxthon(遨游)、Theworld世界之窗、360浏览器Gecko:Monzilla Fixfox开源。Webkit:Safair Chrome 开源Presto:Opera 世界公认渲染速度最快的引擎Blink:Google和Ope...
2019-09-09 16:35:10
254
原创 CSS-position常用属性
static:无特殊定位,对象遵循正常文档流。top,right,bottom,left等属性不会被应用.<style type="text/css"> .box{ width: 100px; height: 100px; background-color:red; position: static; top: 20px; left: 20px;} .box1{w...
2019-09-05 17:13:48
238
原创 Redis数据库系列之三
目录sortflushdbflushallselectswapdbsort1.语法sort key [by pattern][limit offset count][get pattern[get pattern...]][asc|desc][alpha][store destination]2.解析返回或保存给定列表、集合、有序集合key中经过排序的元素。...
2019-06-07 21:32:02
336
原创 Redis数据库系列之二
Scan是Redis2.8版本后提供了一个新的命令,它能有效的解决keys命令存在的问题。和keys命令执行时会遍历所有键不同,scan采用渐进式遍历的方式来解决keys命令可能带来的阻塞问题,每次scan命令的时间复杂度是O(1),但是要真正实现keys的功能,需要执行多次scan。目录scanscan1.语法scan cursor [match pattern][count ...
2019-06-07 19:33:56
190
原创 Redis数据库系列之一
目录existstyperenamerenamenxmovedelrandomkeydbsizekeysexists1.语法exists key2.解析检查给定的key是否存在。3.返回值若key存在返回1,否则返回04.示例set lan phpexists landel lanexists lantype1.语法type k...
2019-06-07 15:48:18
369
原创 Redis地理位置系列GEO
GEO功能在Redis3.2版本提供,支持存储地理位置信息用来实现诸如附近位置、摇一摇这类依赖于地理位置信息的功能.geo的数据类型为zset.目录geoaddgeoposgeodistgeoradiusgeoradiusbymembergeohashzremgeoadd1.语法geoadd key longitude latitude member [l...
2019-06-06 20:31:31
16526
原创 Redis之HyperLogLog
HyperLogLog并不是一种新的数据结构(实际类型为字符串类型),而是一种基数算法,通过HyperLogLog可以利用极小的内存空间完成独立总数的统计,数据集可以是IP、Email、ID等。HyperLogLog提供了三种命令:目录pfaddpfcountpfmergepfadd1.语法pfadd key element[element...]2.解析将任意数量的...
2019-06-06 16:24:50
300
原创 Redis数据结构的内部编码
Redis每种数据结构都有自己底层的内部编码实现,而且是多种实现。如图:目录字符串哈希列表集合有序集合字符串1.三种编码:int:8个字节的长整型embstr:小于等于39个字节的字符串raw:大于39个字节的字符串Redis会根据当前值的类型和长度决定使用哪种内部编码实现2.例子整数类型示例如下:set m 6666object encodin...
2019-06-05 20:53:26
910
2
原创 Redis版本历史介绍
Redis借鉴了Linux操作系统对于版本号的命名规则:版本号第二位如果是奇数,则为非稳定版本(例如2.7、2.9、3.1),如果是偶数,则为稳定版本(例如2.6、2.8、3.0、3.2)。当前奇数版本就是下一个稳定版本的开发版本,例如2.9版本是3.0版本的开发版本。所以我们在生产环境通常选取偶数版本的Redis,如果对于某些新的特性想提前了解和使用,可以选择最新的奇数版本。1.Redis2...
2019-06-05 15:22:19
41651
6
原创 Linux安装redis
redis安装方式(linux版):1.首先查看有没有安装gcc,没有的话安装一下gcc -v2.下载redis编译包,并安装wget http://download.redis.io/releases/redis-3.0.7.tar.gztar -zxf redis-3.0.7.tar.gzln -s redis-3.0.7 rediscd redismakemake insta...
2019-06-05 15:00:43
154
原创 redis有序集合系列之四
目录zunionstorezinterstorezunionstore1.语法zunionstore destination numkeys key [key...] [weights weight[weight...]] [aggregate sum|min|max]2.解析计算给定的一个或多个有序集的并集,其中给定key的数量必须以numkeys参数指定并将该并集...
2019-06-04 20:33:17
377
2
原创 redis有序集合系列之三
目录zrankzrevrankzremzremrangebyrankzremrangebyscorezrangebylexzlexcountzremrangebylexzrank1.语法zrank key member2.解析返回有序集key中成员member的排名.其中有序集成员按score值递增顺序排列。排名以0为底。也就是说,score值...
2019-06-04 20:00:50
337
原创 redis有序集合系列之二
目录zrangezrevrangezrangebyscorezrevrangebyscorezrange1.语法zrange key start stop [withscores]2.解析返回有序集key中,指定区间内的成员其中成员的位置按score值递增来排序具有相同score值的成员按字典序来排列如果你需要成员按score值递增来排序,请使用zrevr...
2019-06-04 18:43:01
534
原创 redis有序集合系列之一
目录zendzscorezincrbyzcardzcountzend1.语法zend key score member [[score member] [score member]...]2.解析将一个或多个member元素及其score值加入到有序集key当中。如果某个member已经是有序集的成员,那么更新这个member的score值,并通过重新插...
2019-06-04 17:48:53
358
原创 redis集合系列之三
目录sintersinterstoresunionsunionstoresdiffsdiffstoresinter1.语法sinter key [key...]2.解析返回一个集合的全部成员,该集合是所有给定集合的交集不存在的key被视为空集当给定集合当中有一个空集时,结果也为空集3.返回值交集成员的列表4.例子smembers lan_1...
2019-06-04 16:00:47
146
原创 redis集合系列之二
目录sremsmovescardsrem1.语法srem key member [member...]2.解析移除集合key中的一个或多个member元素,不存在的member元素会被忽略当key不是集合类型时,返回一个错误2.4之前 只接受单个member值3.返回值:被成功移除的元素的数量,不包括被忽略的元素4.例子:#测试数据smembers l...
2019-06-04 15:08:14
302
原创 redis集合系列之一
目录saddsismemberspopsrandmembersadd1.语法sadd key member [member...]2.解析将一个或者多个member元素加入到集合key当中,已经存在于集合的member元素将被忽略假如key不存在,则创建一个只包含member元素作成员的集合当key不是集合类型时,返回一个错误2.4以前 sadd只接受单个...
2019-06-04 14:13:25
242
原创 redis列表系列之三
目录blpopbrpopbrpoplpushblpop1.语法BLPOP key [key …] timeout2.解析blpop的列表的阻塞式弹出原语。它是lpop命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,连接将被blpop命令阻塞,直到等待超时或被发现可弹元素为止。当给定多个key参数时,按参数key的先后顺序依次检查各个列表,弹出第一个...
2019-06-03 21:50:32
156
原创 redis列表系列之二
目录lremllenlindexlinsertlsetlrangeltrimlrem1.语法lrem key count value2.解析根据参数count的值,移除列表中与参数value相等的元素count的值可以是以下几种:count>0:从表头开始向表尾搜索,移除与value相等的元素,数量为countcount<0:从表...
2019-06-03 17:50:32
140
原创 redis列表系列之一
目录lpushlpushxrpushrpushxlpoprpoprpoplpush模式lpush1.语法lpush key value [value]2.解析将一个或多个值value插入到列表key的表头如果有多个value值,那么各个value值按从左到右的顺序依次插入到表头:比如说,对空列表mylist执行命令lpush mylist a...
2019-06-02 18:45:43
226
原创 redis哈希表系列之三
目录hmsethmgethkeyshvalshgetallhmset1.语法hmset key field value [field value...]2.解析同时将多个field-value(域-值)对设置到哈希表key中此命令会覆盖哈希表中已存在的域如果key不存在,一个空哈希表被创建并执行hmset操作。3.返回值:如果命令执行成功,返回ok当...
2019-06-02 13:40:17
448
原创 redis哈希表系列之二
目录hincrbyhincrbyfloathincrby1.语法hincrby key field increment2.解析为哈希表key中的域field的值加上增量increment。增量也可以为负数,相当于给定域进行减法操作。如果key不存在,一个新的哈希表被创建并执行hincrby操作。如果域field不存在,那么在执行命令前,域的值被初始化为0。对一个...
2019-06-01 20:55:35
158
原创 redis哈希表系列之一
目录hsethsetnxhgethexistshdelhlenhstrlenhset1.语法hset hash field value2.解析将哈希表hash中域field的值设置为value如果给定的哈希表不存在,那么一个新的哈希表将被创建并执行hset操作如果域field已经存在于哈希表中,那么它的旧值将被新值value覆盖3.返回值:当h...
2019-06-01 20:25:20
392
原创 redis字符串系列之五
目录msetmsetnxmgetget与mgetmset1.语法mset key value [key value...]2.解析同时为多个键设置值如果某个给定的键存在,那么mset将使用新值去覆盖旧值,如果这不是你希望的的效果,请考虑使用msetnx命令,这个命令只会在所有给定键都不存在的情况下设置。mest是一个原子性操作,所有给定的键都会在同一时间内被设置...
2019-06-01 19:46:03
158
原创 redis字符串系列之四
目录incrincrbyincrbyfloatdecrdecrbyincr1.语法incr key2.解析为键key储存的数字值上加一。如果键不存在,那么它的值会被初始化为0,然后执行incr命令如果键值不能解释为数字 那么incr会返回一个错误本操作的值限制在64位有符号数字之内3.备注:incr命令是一个针对字符串的操作,因为redis没有专用的...
2019-06-01 19:15:35
137
原创 redis字符串系列之三
目录setrange:getrange:setrange:1.语法setrange key offset value2.解析从偏移量offset开始,用value参数覆写键key存储的字符串值不存在的键key当做空白字符串处理setrange 命令会确保字符串足够长以便将value设置到指定的偏移量上,如果键key原来储存的字符串长度比偏移量小(比如字符串5个,但...
2019-06-01 14:43:18
206
原创 redis字符串系列之二
目录getgetsetstrlenappendget1.语法get key返回与键key相关联的字符串值2.返回值:如果键不存在,返回nil,否则返回键的值如果键的值并非字符串类型,那么返回一个错误,因为get命令只能用于字符串。3.代码示例:对不存在的键或者字符串类型的键执行get:get mset m "hello"get m对不是字符串类型的键...
2019-06-01 14:17:59
146
原创 redis之字符串系列之一
字符串类型是Redis最基础的数据结构。首先键都是字符串类型,而且其他几种数据结构都是在字符串类型基础上构建的,所以字符串类型能为其他四种数据结构的学习奠定基础。如图2-7所示,字符串类型的值实际可以是字符串(简单的字符串、复杂的字符串(例如JSON、XML))、数字(整数、浮点数),甚至是二进制(图片、音频、视频),但是值最大不能超过512MB目录setsetnxsetexp...
2019-05-31 21:19:28
151
转载 有符号数和无符号数
1、你自已决定是否需要有正负。就像我们必须决定某个量使用整数还是实数,使用多大的范围数一样,我们必须自已决定某个量是否需要正负。如果这个量不会有负值,那么我们可以定它为带正负的类型。在计算机中,可以区分正负的类型,称为有符类型(signed),无正负的类型(只有正值),称为无符类型。 (unsigned)数值类型分为整型或实型,其中整型又分为无符类型或有符类型,而实型则只有符类型。字符类...
2019-05-31 20:28:15
1209
原创 redis之bitpos、bitop、bitfield命令
bitpos命令:语法:bittops key bit [start] [end]返回位图中第一个值为bit的二进制位的位置在默认情况下,命令将检测到的整个位图,但用户也可以通过可选的start参数和end参数指定要检测的范围返回值:整数回复setbit m 3 1bitpos m 0 返回0bitpos m 1 返回3bitop命令:语法:bitop operat...
2019-05-31 20:24:40
8766
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人