Memcached NULL für String erhalten mit Python gesetzt und dann von Java bekommen

8

Wenn ich versuche, einen String aus memcached zu lesen, den ich in python gesetzt habe:

%Vor%

Java sagt mir, dass es nicht existiert und gibt offensichtlich null zurück, wenn ich versuche, es zu bekommen:

%Vor%

Ich vermute, es hat etwas mit der Objekt-Serialisierung / Nicht-Serialisierung über mehrere Sprachen zu tun, aber ich dachte, dass ich für einfache Strings OK sein könnte - irgendwer ist schon mal darauf gestoßen?

Hier sind die Bibliotheken, die ich benutze:

Ссылка

Ссылка

    
jckdnk111 05.02.2010, 19:37
quelle

5 Antworten

4

Die Lösung direkt aus der Dokumentation:

  

Wenn Sie mehrere unterstützen müssen   Clients (z. B. Java, PHP, Perl usw.)   Sie müssen ein paar Änderungen vornehmen, wenn   Sie richten Dinge ein:

%Vor%     
Dmytro Leonenko 01.01.2011 23:30
quelle
2

ändern, um pylibmc zu verwenden, um es zu lösen:

%Vor%     
user4179639 05.10.2015 01:19
quelle
1

Verwendet Java nicht Unicode? Wenn ja, vermute ich, dass Python mit dem Zeichensatz ASCII / latin 1 in Memcache schreibt. Daher sehen die Schlüssel sehr unterschiedlich aus ("test_string" vs. "t \ 00e \ 00s \ 00t \ 00_ \ 00s \ 00t \ 00r \ 00i \ 00n \ 00g \ 00").

Versuchen Sie es und sehen Sie, was passiert.

%Vor%     
Simon Callan 05.02.2010 21:11
quelle
1

Stellen Sie sicher, dass memcached service gestartet ist, falls es bereits gestartet wurde, und starten Sie den Service neu.

    
fledgling 19.09.2014 14:12
quelle
1

Es ist ein Fehler in Ihrem Java-Client. Sie sollten das Projekt mit Fixes getared bekommen: Ссылка

BEARBEITEN

Ich kann Probleme mit gwhalin / Memcached-Java-Client reproduzieren, aber alles ist in Ordnung mit zmokhtar / Memcached-Java-Client

    
sibnick 03.10.2015 19:07
quelle

Tags und Links