StringSetMultiple.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace Predis\Commands;
  3. class StringSetMultiple extends Command
  4. {
  5. public function getId()
  6. {
  7. return 'MSET';
  8. }
  9. protected function filterArguments(Array $arguments)
  10. {
  11. if (count($arguments) === 1 && is_array($arguments[0])) {
  12. $flattenedKVs = array();
  13. $args = $arguments[0];
  14. foreach ($args as $k => $v) {
  15. $flattenedKVs[] = $k;
  16. $flattenedKVs[] = $v;
  17. }
  18. return $flattenedKVs;
  19. }
  20. return $arguments;
  21. }
  22. protected function onPrefixKeys(Array $arguments, $prefix)
  23. {
  24. $length = count($arguments);
  25. for ($i = 0; $i < $length; $i += 2) {
  26. $arguments[$i] = "$prefix{$arguments[$i]}";
  27. }
  28. return $arguments;
  29. }
  30. protected function canBeHashed()
  31. {
  32. $args = $this->getArguments();
  33. $keys = array();
  34. for ($i = 0; $i < count($args); $i += 2) {
  35. $keys[] = $args[$i];
  36. }
  37. return $this->checkSameHashForKeys($keys);
  38. }
  39. }