redis: instalación y configuración de origen

1. Compilación e instalación del código fuente

Obtenga el código fuente y haga: 

wget http://download.redis.io/releases/redis-6.2.0.tar.gz

tar xzf redis-6.2.0.tar.gz

cd redis-6.2.0/

make

make test

sudo make install

Durante la ejecución de make test, es posible que falten los paquetes pkg-config y ttl, y la instalación puede continuar.

Después de ejecutar el comando make, el programa de servicio redis compilado redis-server y el programa cliente redis-cli para probar aparecerán en el directorio src de redis-6.0.8:

Inicie el servicio redis a continuación:

cd src

./redis-server

Tenga en cuenta que al iniciar redis de esta manera se usa la configuración predeterminada. También puede decirle a redis que use el archivo de configuración especificado para comenzar con el siguiente comando a través de los parámetros de inicio.

cd src
./redis-server ../redis.conf

Después de iniciar el proceso del servicio redis, puede utilizar el programa cliente de prueba redis-cli para interactuar con el servicio redis. tal como:

En este punto, se ha completado la instalación de redis y una prueba simple.

Si necesita ejecutar comandos en el servicio redis remoto, también debe usar el comando redis-cli

redis-cli -h host -p port -a password

2. Configuración de Redis

El archivo de configuración de Redis se encuentra en el directorio de instalación de Redis y el nombre del archivo es redis.conf.

La imagen de arriba es una pequeña parte de la captura de pantalla de la configuración predeterminada de redis. El archivo de configuración de redis también tiene la forma de clave-valor.

Podemos ver o establecer elementos de configuración a través del comando config.

Los elementos de configuración de redis.conf se describen a continuación:

Número de serie Elemento de configuración Descripción
1
daemonize no
Redis no se ejecuta como un demonio de forma predeterminada. Puede modificar este elemento de configuración para habilitar el demonio con sí (Windows no admite la configuración de subprocesos del demonio como no)
2
pidfile /var/run/redis.pid
Cuando Redis se ejecuta como un demonio, Redis escribirá el pid en el archivo /var/run/redis.pid de forma predeterminada, que se puede especificar mediante pidfile
3
port 6379
Especifica el puerto de escucha de Redis. El puerto predeterminado es 6379. El autor explicó en una publicación de blog por qué se eligió 6379 como puerto predeterminado, porque 6379 es el número correspondiente a MERZ en el botón del teléfono, y MERZ se toma del nombre del Cantante italiana Alessia Merz
4
bind 127.0.0.1
Dirección de host vinculada
5
timeout 300
Cuánto tiempo para cerrar la conexión después de que el cliente esté inactivo, si se especifica como 0, significa cerrar la función
6
loglevel notice
Especifique el nivel de registro, Redis admite un total de cuatro niveles: depuración, detallado, aviso, advertencia, el predeterminado es aviso
7
logfile stdout
El modo de registro es una salida estándar de forma predeterminada. Si Redis está configurado para ejecutarse como un demonio y el modo de registro está configurado como salida estándar aquí, el registro se enviará a / dev / null
8
databases 16
Establezca el número de bases de datos, la base de datos predeterminada es 0, puede usar el comando SELECT para especificar la identificación de la base de datos en la conexión
9
save <seconds> <changes>

Se proporcionan tres condiciones en el archivo de configuración predeterminado de Redis:

guardar 900 1

ahorra 300 10

guardar 60 10000

Significa que hay 1 cambio en 900 segundos (15 minutos), 10 cambios en 300 segundos (5 minutos) y 10,000 cambios en 60 segundos.

Especifique cuántas operaciones de actualización dentro de un período de tiempo, los datos se sincronizarán con el archivo de datos, se pueden combinar varias condiciones
10
rdbcompression yes
Especifique si desea comprimir los datos al almacenarlos en una base de datos local. El valor predeterminado es sí. Redis usa la compresión LZF. Si desea ahorrar tiempo de CPU, puede desactivar esta opción, pero el archivo de la base de datos será enorme
11
dbfilename dump.rdb
Especifique el nombre del archivo de la base de datos local, el valor predeterminado es dump.rdb
12
dir ./
Especifique el directorio de almacenamiento de la base de datos local
13
slaveof <masterip> <masterport>
Configure cuando esta máquina es el servicio esclavo, configure la dirección IP y el puerto del servicio maestro, cuando se inicie Redis, sincronizará automáticamente los datos del maestro
14
masterauth <master-password>
Cuando el servicio maestro está protegido con contraseña, el servicio esclavo se conecta a la contraseña maestra
15
requirepass foobared
Establezca la contraseña de conexión de Redis. Si la contraseña de conexión está configurada, el cliente debe proporcionar la contraseña a través del comando AUTH <contraseña> cuando se conecta a Redis, que está cerrado de forma predeterminada.
dieciséis
 maxclients 128
Establezca el número máximo de conexiones de cliente al mismo tiempo. El valor predeterminado es ilimitado. El número de conexiones de cliente que Redis puede abrir al mismo tiempo es el número máximo de descriptores de archivo que puede abrir el proceso de Redis. Si establece maxclients 0, significa que no hay límite. Cuando el número de conexiones de clientes alcance el límite, Redis cerrará la nueva conexión y devolverá un mensaje de error de número máximo de clientes alcanzados al cliente.
17
maxmemory <bytes>
指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区
18
appendonly no
指定是否在每次更新操作后进行日志记录,Redis 在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis 本身同步数据文件是按上面 save 条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为 no
19
appendfilename appendonly.aof
指定更新日志文件名,默认为 appendonly.aof
20
appendfsync everysec

指定更新日志条件,共有 3 个可选值:

  • no:表示等操作系统进行数据缓存同步到磁盘(快)
  • always:表示每次更新操作后手动调用 fsync() 将数据写到磁盘(慢,安全)
  • everysec:表示每秒同步一次(折中,默认值)
21
vm-enabled no
指定是否启用虚拟内存机制,默认值为 no,简单的介绍一下,VM 机制将数据分页存放,由 Redis 将访问量较少的页即冷数据 swap 到磁盘上,访问多的页面由磁盘自动换出到内存中(在后面的文章我会仔细分析 Redis 的 VM 机制)
22
vm-swap-file /tmp/redis.swap
虚拟内存文件路径,默认值为 /tmp/redis.swap,不可多个 Redis 实例共享
23
vm-max-memory 0
将所有大于 vm-max-memory 的数据存入虚拟内存,无论 vm-max-memory 设置多小,所有索引数据都是内存存储的(Redis 的索引数据 就是 keys),也就是说,当 vm-max-memory 设置为 0 的时候,其实是所有 value 都存在于磁盘。默认值为 0
24
vm-page-size 32
Redis swap 文件分成了很多的 page,一个对象可以保存在多个 page 上面,但一个 page 上不能被多个对象共享,vm-page-size 是要根据存储的 数据大小来设定的,作者建议如果存储很多小对象,page 大小最好设置为 32 或者 64bytes;如果存储很大大对象,则可以使用更大的 page,如果不确定,就使用默认值
25
vm-pages 134217728
设置 swap 文件中的 page 数量,由于页表(一种表示页面空闲或使用的 bitmap)是在放在内存中的,,在磁盘上每 8 个 pages 将消耗 1byte 的内存。
26
vm-max-threads 4
设置访问swap文件的线程数,最好不要超过机器的核数,如果设置为0,那么所有对swap文件的操作都是串行的,可能会造成比较长时间的延迟。默认值为4
27
glueoutputbuf yes
设置在向客户端应答时,是否把较小的包合并为一个包发送,默认为开启
28
hash-max-zipmap-entries 64
hash-max-zipmap-value 512
指定在超过一定的数量或者最大的元素超过某一临界值时,采用一种特殊的哈希算法
29
activerehashing yes
指定是否激活重置哈希,默认为开启(后面在介绍 Redis 的哈希算法时具体介绍)
30
include /path/to/local.conf
指定包含其它的配置文件,可以在同一主机上多个Redis实例之间使用同一份配置文件,而同时各个实例又拥有自己的特定配置文件

Supongo que te gusta

Origin blog.csdn.net/weixin_40179091/article/details/114866607
Recomendado
Clasificación