Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
Есть несколько клиентов (клиентов с графическим интерфейсом), которые подключаются к Redis. Те, которые я использую, описаны ниже.
Кроме того, существует множество инструментов, о которых я кратко упомяну здесь. Подробности можно найти по ссылке: https://zhuanlan.zhihu.com/p/210483494.
RedisTemplate в следующем коде не имеет специально настроенного сериализатора.,после выполнения,использоватькомандная строка Соединятьredis,осуществлятьkeys my_key*
,Обнаружил, что существует только второй ключ,Первый исчез,Но да может получить значение после выполнения кода да. Почему это?
Это потому, что в инструментах командной строки есть ошибки? Нет. использовать keys *my_key*
,Это покажет, что оба ключа существуют.
Вы можете видеть, что перед второй клавишей стоят какие-то странные символы. Это потому, что в коде она первая. redisTemplate сериализатор,несмотря ни на чтодаkeyвозвращатьсядаvalueВседаиспользоватьjdkсериализатор(JdkSerializationRedisSerializer
),В результате перед клавишей появились странные символы.,Так что используйте keys *my_key*
Этого можно добиться, если обе стороны размыты.
Но второй тоже не redisTemplate ? Почему ключ Спереди нет никаких странных символов, потому что весна встреча <String, String>
То, что вводится при использовании дженериков, не является RedisTemplate класс, но StringRedisTemplate класс, и все сериализаторы последнего Stringсериализатор(StringRedisSerializer
),Так что это нормально.
лучшие практики
Рекомендуется установить сериализатор ключа и хеш-ключа в сериализатор String, чтобы его было легче читать и находить при отладке. Кроме того, нет необходимости повторять новый StringRedisSerializer(), его можно использовать совместно, и его можно использовать совместно. является потокобезопасным.
@Bean
public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate template = new RedisTemplate();
template.setConnectionFactory(redisConnectionFactory);
//Рекомендуется установить сериализатор ключа и хеш-ключа в сериализатор String, чтобы его было легче читать и находить при отладке. Кроме того, нет необходимости повторять новый StringRedisSerializer(), его можно использовать совместно, и его можно использовать совместно. является потокобезопасным.
RedisSerializer<String> stringRedisSerializer = new StringRedisSerializer();
template.setKeySerializer(stringRedisSerializer);
template.setHashKeySerializer(stringRedisSerializer);
template.afterPropertiesSet();
return template;
}
Заявление об авторских правах: Содержание этой статьи добровольно предоставлено пользователями Интернета, а мнения, выраженные в этой статье, представляют собой только точку зрения автора. Этот сайт предоставляет только услуги по хранению информации, не имеет никаких прав собственности и не принимает на себя соответствующие юридические обязательства. Если вы обнаружите на этом сайте какое-либо подозрительное нарушение авторских прав/незаконный контент, отправьте электронное письмо, чтобы сообщить. После проверки этот сайт будет немедленно удален.
Издатель: Full stack программист и руководитель стека, укажите источник для перепечатки: https://javaforall.cn/191923.html Исходная ссылка: https://javaforall.cn