kopia lustrzana https://github.com/pixelfed/pixelfed
				
				
				
			
		
			
				
	
	
		
			48 wiersze
		
	
	
		
			1012 B
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			48 wiersze
		
	
	
		
			1012 B
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| 
 | |
| namespace App\Services;
 | |
| 
 | |
| use Illuminate\Support\Facades\Cache;
 | |
| use Illuminate\Support\Facades\Redis;
 | |
| 
 | |
| class LiveStreamService
 | |
| {
 | |
| 	const CACHE_KEY = 'pf:services:livestream:';
 | |
| 
 | |
| 	public static function getComments($id, $start = 0, $stop = 14)
 | |
| 	{
 | |
| 		$key = self::CACHE_KEY . 'chat:' . $id;
 | |
| 		return Redis::lrange($key, $start, $stop);
 | |
| 	}
 | |
| 
 | |
| 	public static function addComment($id, $val)
 | |
| 	{
 | |
| 		$key = self::CACHE_KEY . 'chat:' . $id;
 | |
| 		if(config('database.redis.client') === 'phpredis') {
 | |
| 			if(self::commentsCount($id) >= config('livestreaming.comments.max_falloff')) {
 | |
| 				Redis::rpop($key);
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		return Redis::lpush($key, $val);
 | |
| 	}
 | |
| 
 | |
| 	public static function commentsCount($id)
 | |
| 	{
 | |
| 		$key = self::CACHE_KEY . 'chat:' . $id;
 | |
| 		return Redis::llen($key);
 | |
| 	}
 | |
| 
 | |
| 	public static function deleteComment($id, $val)
 | |
| 	{
 | |
| 		$key = self::CACHE_KEY . 'chat:' . $id;
 | |
| 		return Redis::lrem($key, 0, $val);
 | |
| 	}
 | |
| 
 | |
| 	public static function clearChat($id)
 | |
| 	{
 | |
| 		$key = self::CACHE_KEY . 'chat:' . $id;
 | |
| 		return Redis::del($key);
 | |
| 	}
 | |
| }
 |