前天听同事说让redis缓存永久不失效,然后自己做个key去控制缓存失效,如果到了过期了,则给第一个要访问db加锁,先用setnx,返回1,则获取到了锁,相当于拿到门票了,你可以进入db了。 后面人再想访问db,也得先setnx,发现返回0,说明没有获取到锁,就访问不了db了,还访问原来的老缓存。[……]
答案是:除域名,ip,端口外其它都加密。
昨天和同事说到传接口参数
我:直接用get,
同事:用post安全点。
我:说差不多吧,没本质区别。
同事:https时post参数抓包抓取不到,而get里参数可以抓取到。
今天就做个实验,看下是不是能抓取到https下的get的参数,用[……]
intval opcode
intval.php
<?php
$a = '10';
echo intval($a);
[root@localhost ~]# php -dvld.active=1 intval.php
Finding entry points
Branch analy[......]
intval定义
PHP_FUNCTION(intval)
{
zval **num;
long arg_base;
int base;
switch (ZEND_NUM_ARGS()) {
case 1:
if (zend_parse_parameters[......]
网友提问:
为什么数据在内存里是以补码的形式存储?正数好理解,就是其本身.负数为何不能直接第一位1表示负,其后部分就按照正数表示.比如12345和-12345二进制表示只是第一位一个是0一个是1,后面15位一样.初学c语言不太了解其中的原因.
老师回答:
补吗是为了加减运算才出现的.我们都[……]
一张图让你了解编程语言发展史
我们都知道,编程语言是一组用来定义计算机程序的语法规则。它是一种被标准化的交流语言,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。尽管人们多次试图创造一种通用的程序设计语言,却没有一次尝[……]
想要了解哪个开源项目最火,哪个语言最热门吗?可以看看github的star排行榜
查看最多star
缓存穿透
什么是缓存穿透?
一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。如果key对应的value是一定不存在的,并且对该key并发请求量很大,就会对后端系统造成很大的压力。这就叫做缓存穿透。
如何避免?
1:对查询结果为空[……]
mysql join
一般说join时 小表放左边,大表放右边。就是小表作为驱动表。
网上找到了另一种说法:对于nested loops join和hash join来说,小的结果集先访问,大的结果集后访问(即与表的大小没有关系,与具体sql返回的结果集大小有关);而对于merge sort j[……]