123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- class UserRecord{
- public static function get($id){
- $key = __CLASS__.$id;
- $cache = new ARedisCache();
- $res = $cache->getValue($key);
- if($res){
- return unserialize($res);
- }else{
- $user = RUser::get(new MongoId($id));
- if($user){
- $data = $user->parseRow($user);
- $cache->setValue($key,serialize($data));
- return $data;
- }else{
- return false;
- }
- }
- }
- public static function getCityUsers($city){
- if(!$city){
- return false;
- }
- $cache = new ARedisCache();
- $key = 'city_users_'.md5($city);
- $data_cache = $cache->get($key);
- $res = array();
- if($data_cache && false){
- $res = unserialize($data_cache);
- }else{
- $criteria = new EMongoCriteria;
- $criteria->city_info->city('==',$city);
- $criteria->certify_status('!=',1);
- $criteria->sort('topic_count',EMongoCriteria::SORT_DESC);
- $criteria->limit(30);
- $cursor = RUser::model()->findAll($criteria);
- $res = RUser::model()->parse($cursor,true,array('id','user_name','sex','avatar','level','city_info','pets','certify_status','certify_info','can_access','last_visit_time'));
- $cache->set($key,serialize($res),3600);
- }
- return $res;
- }
- public static function getCertifyUser($cerity_type = 'all'){
- $cache = new ARedisCache();
- $key = 'city_users_'.md5($cerity_type);
- $data_cache = $cache->get($key);
- $res = array();
- if($data_cache && false){
- $res = unserialize($data_cache);
- }else{
- $criteria = new EMongoCriteria;
- if($cerity_type != 'all' && !empty($cerity_type)){
- $criteria->certify_type('==',$cerity_type);
- }
- $criteria->sort('topic_count',EMongoCriteria::SORT_DESC);
- $criteria->certify_status('==',1);
- $criteria->limit(20);
- $cursor = RUser::model()->findAll($criteria);
- $res = RUser::model()->parse($cursor,true,array('id','user_name','sex','avatar','level','city_info','pets','certify_status','certify_info','can_access','last_visit_time'));
- $cache->set($key,serialize($res),3600);
- }
- return $res;
- }
- }
|