MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Skompresuj (skróć) ciąg PHP z 24 znaków do 20

Z tego, co widzę na podanej stronie, 24 znaki są szesnastkowe. Jeśli identyfikator klienta może być alfanumeryczny, możesz użyć base_convert aby skrócić numer. Niestety pełna liczba to> 32 bity, więc musisz ją częściowo ukryć, aby działała:

// Pad with 0's to make sure you have 24 chars
$padded = str_repeat('0', 24 - strlen($mongoId)) . $mongoId;
$leastSignificant = base_convert(substr($padded, 14, 10), 16, 32); // will be 8 chars most
$middleSignificant = base_convert(substr($padded, 4, 10), 16, 32); // will be 8 chars most
$highSignificant = base_convert(substr($padded, 0, 4), 16, 32); // will be 4 chars most

// Concatenate, and make sure everything is correctly padded
$result = str_repeat('0', 4 - strlen($highSignificant)) . $highSignificant .
          str_repeat('0', 8 - strlen($middleSignificant )) . $middleSignificant .
          str_repeat('0', 8 - strlen($leastSignificant )) . $leastSignificant;
echo strlen($result); // Will echo 20

// Reverse the algoritm to retrieve the mongoId for a given customerId 



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak mogę przezwyciężyć problemy ze skalowaniem w przypadku bezserwerowego i MongoDB?

  2. Wyjątek limitu czasu kursora Mongo

  3. Używanie deklaracji nie znalezionej w sterowniku mongodb c++

  4. Statystyki wizualne dla Twojego serwera MongoDB

  5. Mongodb:zagregowana tablica liczb całkowitych dla każdej pozycji tablicy