• 何时需要分布式锁? 在分布式的环境下,当多个server并发修改同一个资源时,为了避免竞争就需要使用分布式锁。那为什么不能使用Java自带的锁呢?因为Java中的锁是面向多线程设计的,它只局限于当前的JRE环境。而多个server实际上是多进程,...
  • 如果只需要临时更改主机名,可以使用hostname命令。 sudo hostname <new-hostname> # 例如: sudo hostname myDebian #myDebian为修改名 如果想永久改变主机名,可以使用h...
    • 8月前
  • 列表是线性有序的数据结构,它内部的元素是可以重复的,并且一个列表最多能存储2^32-1个元素。列表包含如下的常用命令: lpush/rpush:从列表的左侧/右侧添加数据; lrange:指定索引范围,并返回这个范围内的数据; lindex:返回...
  • 为什么需要可靠的UDP 在弱网(2G、3G、信号不好)环境下,使用 TCP 连接的延迟很高,影响体验。使用 UDP 是很好的解决方案,既然把 UDP 作为弱网里面的 TCP 来使用,就必须保证数据传输能像 TCP 一样可靠 如何实现可靠的...
    • 8月前
  • setnx命令返回整数值,当返回1时表示设置值成果,当返回0时表示设置值失败(key已存在)。 一般我们不建议直接使用setnx命令来实现分布式锁,因为为了避免出现死锁,我们要给锁设置一个自动过期时间。而setnx命令和设置过期时间的命令不是原子...
  • 重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)。 答案解析 需要重定向的情况 (1)网站调整(如改变网页目录结构); (2)网页...
    • 8月前
  • GET在浏览器回退时是无害的,而POST会再次提交请求。 GET产生的URL地址可以被Bookmark,而POST不可以。 GET请求会被浏览器主动cache,而POST不会,除非手动设置。 GET请求只能进行url编码,而POST支持多种编码方...
  • 建议按照如下的原则来设计索引: 避免对经常更新的表进行过多的索引,并且索引中的列要尽可能少。应该经常用于查询的字段创建索引,但要避免添加不必要的字段。 数据量小的表最好不要使用索引,由于数据较少,查询花费的时间可能比遍历索引的时间还要短,索引可能...
  • HTTP方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用。幂等性属于语义范畴,正如编译器只能帮助检查语法错误一样,HTTP规范也没有办法通过消息格式等语法手段来定义它。 POST所对应的URI并非创建的资源本身,而是资源的接收者。比如...
  • 常见的对称加密算法有:DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES ; 常见的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用); ...
    • 8月前