
php
程序员小饭
公众号 程序员小饭
展开
-
12306抢票算法居然被曝光了,居然这么简单
导读 相信大家应该都有抢火车票的经验,每年年底,这都是一场盛宴。然而你有没有想过抢火车票这个算法是怎么实现的呢? 应该没有吧,咱们今天就来一一探讨。其实并没有你想的那么难 bitmap与位运算 redis的bitmap基本使用咱们之前已经介绍过了,如果不是很熟悉的朋友可以看看这里 redis bitmap的基本操作和应用 今天在这里咱们主要是先回顾一下位运算 12306抢票算法详解 我们以北京到西安这趟高铁为例,比如我的路线就是从北京到西安,车上如果只剩最后一张票了,那么如果有其他人,在原创 2021-09-27 15:01:23 · 516 阅读 · 0 评论 -
面试官问redis分布式锁,如何设计才能让他满意?
前言 对于分布式锁的问题我也查过很多资料,感觉很多方式实现的并不完善,或者看着云里雾里的,不知所以然,于是就整理了这篇文章,希望对您有用,有写的不对的地方,欢迎留言指正。 首先咱们来聊聊什么是分布式锁,到底解决了什么问题?直接看代码 $stock = $this->getStockFromDb();//查询剩余库存 if ($stock>0){ $this->ReduceStockInDb(); // 在数据库中进行减库存操作 echo "successful"; }原创 2020-12-01 09:47:27 · 587 阅读 · 2 评论 -
PHP 导出csv文件乱码解决方案
我们经常导出csv文件都喜欢直接用file_put_contents('file_name', $file);这种方式直接导出,如果没有中文字符还好,要是有中文字符的话就会出现乱码的情况,让人很是头疼,下面是乱码解决方案 $str = "导出的含有中文字符的内容"; $fp = fopen("export.csv", "a"); //在写入数据之前先把bom头写到文件里 fwrite...原创 2018-11-06 20:55:18 · 552 阅读 · 0 评论