Это 22-й день моего участия в Gengwen Challenge.Подробности о мероприятии:Обновить вызов
Статьи по Теме
Сводка боя Redis:Редис в действии
предисловие
Публикация/подписка Redis (pub/sub) — это режим обмена сообщениями: отправитель (pub) отправляет сообщения, а подписчики (sub) получают сообщения.
Клиенты Redis могут подписаться на любое количество каналов!
1. Реализовать функцию подписки и публикации
① Команда:
Эти команды широко используются для создания приложений мгновенного общения, таких как онлайн-чаты (chatroom) и трансляции в реальном времени, напоминания в реальном времени и так далее.
② Реализация публикации и подписки:
1. Абонент:
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> SUBSCRIBE dingdada #订阅名字为 dingdada 的频道
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "dingdada"
3) (integer) 1
#等待推送的信息
1) "message" #消息
2) "dingdada" #来自哪个频道的消息
3) "hello world\xef\xbc\x81" # 消息的具体内容
1) "message"
2) "dingdada"
3) "my name is dyj\x81"
2. Отправитель:
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> PUBLISH dingdada "hello world!" #发送消息到dingdada 频道
(integer) 1
127.0.0.1:6379> PUBLISH dingdada "my name is dyj" #发送消息到dingdada 频道
(integer) 1
как показано на рисунке:
Подписчик:
отправитель:
③Команда PSUBSCRIBE: подписаться на указанный канал!
PSUBSCRIBE + 频道。。 #订阅给定的模式,可多个
④Команда PUBLISH: отправить сообщение на указанный канал!
PUBLISH + 频道 +消息 #将信息 message 发送到指定的频道 channel
⑤ Команда PUNSUBSCRIBE: отписаться!
#指示客户端退订指定模式,若果没有提供模式则退出所有模式。
⑥ПОДПИСАТЬСЯ: Подписка, как указано выше. Не вдавайтесь в подробности!
⑦ОТПИСАТЬСЯ: Отписаться, как указано выше, без подробностей!
⑧Обзор:
Pub/Sub буквально означает «Публикация и подписка». В Redis вы можете настроить публикацию сообщений и подписку на сообщения для определенного значения ключа. Когда сообщение публикуется по значению ключа, все клиенты, подписавшиеся на него, получат соответствующее сообщение.
Наиболее очевидным использованием этой функции является система обмена сообщениями в реальном времени, например, обычнаяЖивой чат,Групповой чати другие функции.
2. Используйте Jedis для управления Redis
Я не буду публиковать концептуальный ответ Baidu. Проще говоря,Jedis — это официальный инструмент для разработки соединений Java, рекомендованный Redis!
Хотя текущая версия SpringBoot2.× заменила Jedis на Lettuce, я все еще думаю, что необходимо понимать, как использовать Jedis!
- Как интегрировать Jedis и подключиться к базе данных Redis в java-проекте?
① Создайте проект Maven
Он может быть пустым~ Я не буду вдаваться в подробности того, как его создать!
②Импортируйте зависимости Jedis и fastjson и терпеливо дождитесь завершения загрузки!
<!--导入jedis的包-->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.2.0</version>
</dependency>
<!--fastjson-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
③Подключение к тесту Redis.Для удобства тестирования подключение к локальному сервису Redis.Для удаленного подключения необходимо изменить файл конфигурации и отключить брандмауэр.Об этом я расскажу в отдельной статье в будущем!
// 1、 new Jedis 对象即可
Jedis jedis = new Jedis("127.0.0.1",6379);
// jedis 所有的命令就是我们之前的所有指令
System.out.println(jedis.ping());
как показано на рисунке:
Вернитесь к PONG, чтобы доказать, что соединение установлено успешно!
④ Часто используемые упражнения API:
// 1、 new Jedis 对象即可
Jedis jedis = new Jedis("127.0.0.1",6379);
jedis.flushDB();//清空当前库的所有数据
jedis.set("name","dingyongjun");
jedis.set("age","23");
jedis.set("high","173");
System.out.println("name:"+jedis.get("name")+"\nage:"+jedis.get("age")+"\nhigh"+jedis.get("high"));
как показано на рисунке:
jedis.lpush("list","1","2","3","4");
System.out.println("list: "+jedis.lrange("list",0,-1));
как показано на рисунке:
⑤Резюме: Подключение и использование Redis в Jedis точно такое же, как и консольная команда Redis.Я не буду повторять команды одну за другой.Если будет время позже, я постепенно улучшу все команды!
Впереди долгий путь, и я обязательно буду его искать вдоль и поперёк~
Если вы думаете, что я блогеры хорошо пишу! Писать нелегко, пожалуйста, ставьте лайки, подписывайтесь и комментируйте, чтобы поощрять блоггеров ~ хахах