Loading...
初学golang想写个一个用多个协程去随机生成字符串,然后插入数据库的demo网上找了点包,要么在协程多的时候,容易生成连续重复的随机字符串 原因可能是在 随机的包内去用时间戳去做种子,导致过快的时候,生成的随机数一样 还有的不能去自定义随机字符串的范围 比如我想生成只包含大写字母加数字的 随机字符串 没找到好用的包有php功底嘛,照着原来php的demo去写一个go的,问题应该不大,...
从tp5过渡过来的,默认select查询是返回二维数组,tp6返回数据集,虽然官方说和数组操作基本无区别但是有些时候还是数组好用 例如$arr[$k][0] = "test"这种间接修改,在默认返回的数据集中,是报错的,但是数组是可以这样操作的修改tp6目录下的/vendor/topthink/think-orm/src/db的BaseQuery.php如图所示,将图中画红框的位置删除,并且...
php有qrcode可以,很方便的生成二维码,但是二维码由后端生成,当请求特别多的时候,服务器压力会很大,又要生成二维码,又要传输图片如果二维码由前端生成,后端只传入需要生成二维码的字符串,例如一个url,比后端生成二维码选择更优这里使用的是https://github.com/diamont1001/jrQrcode引入js,直接将字符串传入jrQrcode.getQrBase64()就返...
redis缓存应在model层去做在进行数据库查询之前,我们可以将传进来的数据库查询条件,和model名进行拼接 将得到的值作为key去redis查询是否为空,如果为空,则执行数据库查询操作,并且将查询到的结果,存入redis,并设置有效期如果redis查到了值,则直接从redis中取出值,直接return,不执行数据库操作例如一个商品详情页,如果后台修改了该商品,则我们需要删除这个商品的缓...
先写一个基类,让所有的api的控制器都继承它,并且写一个_initialize方法,这是tp5的方法,执行其他方法前,会自动调用,类似于php的构造方法,我们可以获取请求者的ip,md5一下作为我们redis存储的key然后去redis里用get去取,如果取到了值,则去判断是否为空,如果为空,则说明该ip第一次请求接口,则设置用set方法设置初始值为0,并且设置有效时间,如果不为空,并且大于...