Подробное объяснение конфигурационных файлов Redis и способов использования операций Jedis | Битва Redis (6)

задняя часть
Подробное объяснение конфигурационных файлов Redis и способов использования операций Jedis | Битва Redis (6)

«Эта статья участвовала в мероприятии Haowen Convocation Order, щелкните, чтобы просмотреть:Двойные заявки на внутреннюю и внешнюю стороны, призовой фонд в 20 000 юаней ждет вас, чтобы бросить вызов!"


Статьи по Теме

Сводка боя Redis:Редис в действии


1. Подробное объяснение конфигурационных файлов

Как говорится: есть специалисты, у которых есть дерево! Ты это сразу узнаешь! Предыдущее исследование предназначено только для того, чтобы сообщить намКак использовать Редис, но нам как разработчикам нужно знать, почему, поэтому мы должны понимать это фундаментально, давайте внимательно изучим файл Redis.conf и станем совершенствоваться! Освободи себя! В практической работе:Некоторые небольшие конфигурации могут выделить вас!

  1. Единицы: конфигурация Redis не чувствительна к регистру!

在这里插入图片描述

Примечание: допустимо любое написание без учета регистра.

units are case insensitive so 1GB 1Gb 1gB are all the same.
  1. Включить: при создании кластера Redis вы можете использовать включение для включения других файлов конфигурации.

在这里插入图片描述

  1. Интернет:

在这里插入图片描述

Объяснение следующее:

bind 127.0.0.1 # 绑定的ip 
protected-mode yes # 保护模式 
port 6379 # 端口设置
  1. ОБЩИЕ СВЕДЕНИЯ
daemonize yes # 以守护进程的方式运行,默认是 no,我们需要自己开启为yes! 
pidfile /var/run/redis_6379.pid # 如果以后台的方式运行,我们就需要指定一个 pid 文件! 
# 日志 
# Specify the server verbosity level. 
# This can be one of:
# debug (a lot of information, useful for development/testing) 
# verbose (many rarely useful info, but not a mess like the debug level) 
# notice (moderately verbose, what you want in production probably) 生产环境 
# warning (only very important / critical messages are logged)
loglevel notice 
logfile "" # 日志的文件位置名 
databases 16 # 数据库的数量,默认是 16 个数据库 
always-show-logo yes # 是否总是显示LOGO
  1. Моментальный снимок (RDB): сохранение, сколько раз операция выполняется в течение указанного времени, будет сохранена в файле .rdb .aof

Redis — это база данных в памяти, без сохранения данные будут потеряны при отключении питания!

# 如果900s内,如果至少有一个1 key进行了修改,我们及进行持久化操作 
save 900 1 
# 如果300s内,如果至少10 key进行了修改,我们及进行持久化操作 
save 300 10 
# 如果60s内,如果至少10000 key进行了修改,我们及进行持久化操作 
save 60 10000 
# 我们之后学习持久化,会自己定义这个测试!
  1. БЕЗОПАСНОСТЬ

Здесь вы можете установить пароль Redis, по умолчанию пароль отсутствует. ①Установить по команде

127.0.0.1:6379> ping
PONG
127.0.0.1:6379> config get requirepass  #获取Redis的密码
1) "requirepass"
2) ""
127.0.0.1:6379> config set requirepass "123456"  #设置Redis的密码为123456
OK
# Ctrl+C 退出当前连接
[root@dyjcomputer bin]# redis-cli -p 6379  #重新连接
127.0.0.1:6379> ping  #测试ping,失败,所有的命令都显示无权限
(error) NOAUTH Authentication required.  
127.0.0.1:6379> set k1 v1  #失败,所有的命令都显示无权限
(error) NOAUTH Authentication required.  
127.0.0.1:6379> auth 123456  #auth + 密码  登陆上去
OK 
127.0.0.1:6379> ping  #正常
PONG
127.0.0.1:6379> config get requirepass  #获取密码,正常
1) "requirepass"
2) "123456"

②Изменив настройки файла конфигурации, найдите расположение значка и добавьте пароль

在这里插入图片描述

Перезапустите тест Redis!

127.0.0.1:6379> ping
(error) NOAUTH Authentication required.  
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> ping
PONG
  1. Ограничение КЛИЕНТОВ
maxclients 10000   #设置能连接上redis的最大客户端的数量 
maxmemory <bytes>  #redis 配置最大的内存容量 
maxmemory-policy noeviction  #内存到达上限之后的处理策略 
1、volatile-lru:只对设置了过期时间的key进行LRU(默认值) 
2、allkeys-lru : 删除lru算法的key 
3、volatile-random:随机删除即将过期key 
4、allkeys-random:随机删除 
5、volatile-ttl : 删除即将过期的 
6、noeviction : 永不过期,返回错误
  1. Режим APPEND ONLY конфигурации (постоянное сохранение)
appendonly no  #默认是不开启aof模式的,默认是使用rdb方式持久化的,在大部分所有的情况下,rdb完全够用! 
appendfilename "appendonly.aof"  #持久化的文件的名字 
# appendfsync always # 每次修改都会 sync。消耗性能 
appendfsync everysec # 每秒执行一次 sync,可能会丢失这1s的数据! 
# appendfsync no  #不执行 sync,这个时候操作系统自己同步数据,速度最快!

2. Джедаи используют Redis

Я не буду публиковать концептуальный ответ Baidu. Проще говоря,Jedis — это официальный инструмент для разработки соединений Java, рекомендованный Redis!Хотя текущая версия SpringBoot 2.× заменила Jedis на Lettuce, я все еще думаю, что необходимо понимать, как использовать Jedis!

  1. Как интегрировать 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.Я не буду повторять команды одну за другой.Если будет время позже, я постепенно улучшу все команды!


Впереди долгий путь, и я обязательно буду его искать вдоль и поперёк~

Если вы думаете, что я блогеры хорошо пишу! Писать нелегко, пожалуйста, ставьте лайки, подписывайтесь и комментируйте, чтобы поощрять блоггеров ~ хахах