StringSetMultiple.php 1.0 KB

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