spring-data-redis – Über die JSON-Zeichenfolge des Spring Data Redis-Speicherobjekts werden einige unerwartete Zeichen im Wert angezeigt
PHP中文网
PHP中文网 2017-05-31 10:31:22
0
2
1007

Ich habe für jeden Schlüssel in Redis eine JSON-Zeichenfolge eines Objekts gespeichert, aber als ich es herausnahm, waren einige seltsame Zeichen zu sehen

this.redisTemplate.opsForValue().set(key, objectMapper.writeValueAsString(XXX),  15 * 1000);

Dies ist der Wertcode:

String xxxJSON= this.redisTemplate.opsForValue().get(key);

XXX xxx = objectMapper.readValue(xxxJSON, XXX.class);

Das ist die Ausgabe:

redis取到的值====   NULNULNULNULNULNULNULNULNUL。。。。。{json 内容}                               

Das sehen Sie im Redis Manager

\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00。。。。。。。。。。。。还有很多{json数据}

Die vorherige NUL-Protokollausgabe ist sichtbar, aber beim Kopieren ist sie voller Leerzeichen. Damit jeder den Effekt sehen kann, wird das handgeschriebene NUL angezeigt

Das Hauptproblem besteht darin, dass ich die abgerufenen Daten in ein Objekt konvertieren muss. Wenn ich die NUL davor entferne, kann sie in ein Objekt umgewandelt werden. Wenn ich sie jedoch kopiere, wird ein Fehler gemeldet Es wird mit Leerzeichen gefüllt.

Andere Daten sind in Ordnung mit der Set-Liste. Es gibt kein Problem mit Strings oder Strings, nur JSON-Strings haben dieses Problem.

Ist jemand auf dieses Problem gestoßen? Der Hauptgrund ist, dass er nicht versteht, warum dieses Problem auch bei JSON-Strings auftritt

Versuchen Sie auch, s zu verwenden, um Leerzeichen abzugleichen und ersetzen und trimmen, um die führenden und nachgestellten Leerzeichen zu entfernen, aber das hat keine Auswirkung und die Zeichenfolge wird nicht transformiert

PHP中文网
PHP中文网

认证0级讲师

Antworte allen(2)
大家讲道理

trim去掉空格可以用,测试的时候不是最新代码,"s"不能匹配,不知道怎么回事,另外Java Date对象存储到redis中,自动转化为时间戳,转化的时间戳比真实时间少了一个小时,原因都没找到,真坑啊

用的就是StringRedistemplate

淡淡烟草味

用StringRedisTemplate代替RedisTemplate试试

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!