小编jfo*_*ain的帖子

为什么使用Redis代替MongoDb进行缓存?

我见过很多人最近使用Redis作为缓存,为什么不使用Mongo?据我所知,Redis可以在一个索引上设置一个过期日期,比如memcache但是否有任何理由不使用Mongo呢?

我问,因为我在MySQL中进行大量连接,然后在选择后更改数据.我已经在网站的其他部分使用了memcache,但是将其保存在Mongo中将允许我对缓存的数据进行地理空间搜索.

memcached geospatial mongodb redis

18
推荐指数
2
解决办法
1万
查看次数

如何制定受控的"洗牌"订单?

我在sql数据库中有一套测验游戏问题(实际上是javascript和sqlite).这些问题都有难度级别从1到5,5最难.这是数据的简化可视化......


+---------+--------------+  
|   id    | difficulty   |   
+---------+--------------+  
| 1       |      1       |    
| 2       |      5       |    
| 3       |      2       |    
| 4       |      3       |    
| 5       |      2       | 
| 6       |      2       |    
| 7       |      4       |    
| 8       |      1       |    
| 9       |      5       |    
| 10      |      3       |      
+---------+--------------+   

现在我可以在sql或代码中随机播放这些内容,因此它们是以无序重复的随机顺序,但我也想控制难度字段的排序方式.

因此,例如,我可以有一个改组的问题,其中难度级别顺序看起来像这样......

1,1,5,2,3,3,2,2,2,4

这有几个"困难",这不是我想要的.玩游戏的用户将得到几组同样困难的问题.像这样的订单会更好......

1,2,3,2,5,4,1,2,3,2

我想确保问题被洗牌,但没有困难聚集.如果有任何"团块",那么很少有困难.对MySQL/javascript(或PHP)的任何帮助都会很棒.

javascript php mysql algorithm shuffle

5
推荐指数
1
解决办法
416
查看次数

在移动网站上使用谷歌驱动器文件选择器

我们允许用户通过谷歌硬盘上传pdf文件.谷歌驱动器文件选择器在桌面上运行良好,但在我们的移动响应式网站上,我们仍然获得标准文件选择器,用户体验并不理想.它显然针对台式机进行了优化.

对于响应式移动网站,有更好的方法吗?

使用https://apis.google.com/js/api.js库和Google文件选择器https://developers.google.com/picker/

$(function($){ $(document).ready(function () {  pdfPicker = new GoogleFilePicker({
    apiKey: 'XXXXXXXXX',
    clientId: 'XXXXXXX',
    scope: ['https://www.googleapis.com/auth/drive.readonly'],
    viewId: 'pdfs',
    onLoad: function () {
    },
    onSuccess: function (data) {
      var element = $('#resume_url');
      element.val(data.downloadUrl + '&token=' + data.token);
      element.change();
    },
    onCancel: function () {
    },
    load: true
  });


$('#btn_pdfPicker_gdrive').on('click', function(event){
  $('#resume').empty();
  pdfPicker.createPicker();
  //Close modal so we can see the google drive picker.
  $("div[data-vet-upload-resume]").modal('hide');
});


<a href="javascript:void(0)" id="btn_pdfPicker_gdrive" class="btn btn-block">
    <di>
        Upload with<br>Google Drive
    </div>
</a>


<input type="text" name="data[Resume][resume_url]" …
Run Code Online (Sandbox Code Playgroud)

google-drive-api

5
推荐指数
1
解决办法
239
查看次数