高性能,缓存,队列随谈

1.高性能!=缓存;但缓存是解决性能问题的一枚银弹。

2.redis!=缓存,但是redis 的其中一大特色就是可以当做缓存来用。

3.对计算机来说,1秒钟时间太过于漫长。对于用户来讲,一秒钟之内非常关键!


一、一个任务或作业(Job)的定义:

Class BATCH_IMPORT_CHANNEL_USER_JOB{

         publicfunction run(){

                   … 这里将该类型的作业要做的事情具体话,还需要考虑不同类型的作业所做的事情不一样的情况;

                   sleep(5);

                   file_put_content('/tmp/file1','hello\r\n');

                   //返回任务执行的结果,是失败了还是成功了,或者出错了.

         }

}

 

二、队列

Class Queue{

         publicfunction push(){

                   //任务入队

                   return

         }

         publicfunction pop(){

                   //任务出队

         }

}

 

三、处理器

Class Processer{

         constDEFAULT_QUEUE = '';//一个work可以处理多个队列,也可以处理一个队列

         publicfunction add_task($queueName,$job){

                   //参数中的$job 信息中包含任务的名称或者类型,也包括此任务的任务id(唯一)

         }

        

         publicfunction process_task($queueName){

                  //

         }

        

         publicfunction query_status($jobId){

                  //

         }

}


【大家可搜索并关注我的微信公众号,名称:jordy的世界
后续会有持续更新,更多精彩等着您!】



你可能感兴趣的:(性能优化,redis,架构设计,linux与运维)