-
[置顶]软件接口设计怎么做?前后端分离软件接口设计思路
本文关于软件接口设计怎么做?前后端分离软件接口设计思路。好的系统架构离不开好的接口设计,因此,真正懂接口设计的人往往是软件设计队伍中的稀缺型人才。为什么在接口制定标准中说:一流的企业做标准,二流的企业...
-
[置顶]接口管理如何做?接口实现版本管理的意义和最佳方法
本文关于接口管理如何做?接口实现版本管理的意义和最佳方法。API版本管理的重要性不言而喻,对于API的设计者和使用者而言,版本管理都有着非常重要的意义。下面会从WEB API 版本管理的角度提供几种常...
-
[置顶]实现API管理系统的关键
下面将通过几个关键词的形式说明API管理的重要性和未来的实现方式。1.生命周期管理在整个API生命周期中更深入地集成所有工具将进一步提高生命周期循环的速度,而且更重要的是提供满足消费者需求的API。这...
-
PHP中traits的作用和使用(traits)
traits是在5.4中新增的一个用于实现代码重用的方法。php是一种单一继承的语言,我们无法像java一样在一个class中extends多个基类来实现代码重用,现在Traits能解决这一代码重用的...
-
经典面试题:如何保证缓存与数据库的双写一致性?(缓存和数据库双写一致性问题)
只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题?面试题剖析一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果...
-
Redis实战之限制操作频率(频繁操作redis)
场景场景1留言功能限制,30秒内只能评论10次,超出次数不让能再评论,并提示:过于频繁场景2点赞功能限制,10秒内只能点赞10次,超出次数后不能再点赞,并封印1个小时,提示:过于频繁,被禁止操作1小时...
-
【底层原理】进程与线程的一个简单解释(java线程底层原理)
进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1:计算机的核心是CPU,它承担了...
-
用Redis实现用户积分排行榜(redis做排名)
排行榜功能是一个很普遍的需求。使用 Redis 中有序集合的特性来实现排行榜是又好又快的选择。一般排行榜都是有实效性的,比如“用户积分榜”。如果没有实效性一直按照总榜来排,可能榜首总是几个老用户,对于...
-
一次 sql 优化经历,太有趣了!(一次函数)
场景我用的数据库是mysql5.6,下面简单的介绍下场景课程表:create table Course(c_id int PRIMARY KEY, name varchar(10))数据100条学生表...
-
使用array_diff优雅的删除数组中指定的value值(arrays类提供删除方法)
在开发过程中经常需要删除数组中某个值;比如说有个数组;$names = [ '张三', '李四', '王麻子' ]我们希望删除 李四 这个值;常规的思路是先用 array_searc...
-
MySQL由一个双引号引发的误会(mysql加引号不加引号的区别)
一、前言最近经常碰到开发误删除误更新数据,这不,他们又给我找了个麻烦,我们来看下整个过程。二、过程由于开发需要在生产环节中修复数据,需要执行120条SQL语句,需要将数据进行更新于是开发连上了生产数据...
-
使用Redis实现用户积分排行榜(redis积分排名)
排行榜功能是一个很普遍的需求。使用 Redis 中有序集合的特性来实现排行榜是又好又快的选择。一般排行榜都是有实效性的,比如“用户积分榜”。如果没有实效性一直按照总榜来排,可能榜首总是几个老用户,对于...
-
JavaScript常用方法封装(js函数封装 对象封装的步骤)
1. type 类型判断isString (o) { //是否字符串 return Object.prototype.toString.call(o).slice(8, -1) === 'St...
