Я использую команду SETBIT в Predis
$key = 'ONLINE_APP:1234:2015_03_13:12_11');
$redis->setbit($key,1,1);
$redis->expire($key,1000);
$redis->setbit($key,2,1);
$redis->expire($key,1000);
$key2 = 'ONLINE_APP:1234:2015_03_13:12_12';
$redis->setbit($key,3,1);
$redis->expire($key,1000);
и используя BITOP для подсчета онлайн-пользователей
$redis->bitop('OR','ONLINE', $key1.' '.$key2);
$totalOnline = $redis->bitcount('ONLINE');
echo 'Total Online: '.$totalOnline
и результат:
Total Online: 0
в чем моя проблема? Правильный результат должен быть:
Total Online: 3
Похоже, вы только что допустили ошибку при передаче параметров в этой библиотеке. Похоже, что должно быть
$redis->bitop('OR','ONLINE', $key1, $key2);
Других решений пока нет …